跳转至
首页 解决方案 下载 文档
演示环境

基础监控部署

部署基础监控

OpsAny社区版基础监控,必须对接Zabbix才可进行使用,你可以直接将已经部署的Zabbix对接到OpsAny。如果你还不知道什么是Zabbix,请不要部署监控平台。

Tip

注意如果ALL in One部署至少需要16G内存为佳,出现未知错误时,请第一时间查看内存使用率。

1.安装基础监控平台

在执行安装前,请注意,你是否修改过admin的密码,默认情况下会从$INSTALL_PATH/conf/.passwd_env获取,如果你修改过密码,请修改此文件。

cd /opt/opsany-paas/install/
./saas-ce-install.sh monitor

2.为Grafana安装Zabbix插件

OpsAny全平台的监控数据展示均采用Grafana,必须安装Grafana插件才能从Zabbix获取数据进行展示。

该命令会自动下载Zabbix插件并解压放置在/var/lib/grafana/plugins/目录下。

docker exec opsany-grafana /bin/sh -c "grafana-cli plugins install alexanderzobnin-zabbix-app"
docker restart opsany-grafana

由于国内访问Github比较慢,导致使用Grafana CLI安装插件经常失败,可以可以采用手工将插件放置到Grafana的插件目录下。

cd /opt && wget https://opsany.oss-cn-beijing.aliyuncs.com/alexanderzobnin-zabbix-app-4.3.1.zip
unzip alexanderzobnin-zabbix-app-4.3.1.zip
docker cp /opt/alexanderzobnin-zabbix-app opsany-grafana:/var/lib/grafana/plugins/
docker restart opsany-grafana

集成Zabbix

管控平台添加Zabbix实例

访问OpsAny平台,打开【管控平台】-【采控管理】-(Zabbix集成)新建Server进行集成。请确保集成状态是正常。

Zabbix如何和OpsAny同步

【管控平台】是OpsAny的底层管控通道,通过该平台和Zabbix进行同步,所有在管控平台纳管的主机,可以同步到Zabbix上,同时可以使用统计分析来分析监控覆盖率。

如果部署完毕之后Zabbix能访问,但是使用install.config中设置的密码无法登录。一般初始化没有成功的几率比较大,可以尝试重新初始化。

如何将Zabbix告警消息发送到OpsAny

支持将Zabbix告警配置后发送到工作台,配置后可通过工作台的消息订阅配置告警媒介

没有opsany_dispatch.py脚本可前往官网或联系OpsAny获取,并将其放置到 /usr/lib/zabbix/alertscripts (此路径为Zabbix配置的脚本路径,可根据Zabbix配置文件指定脚本目录)路径并授权执行权限

脚本需要Python3环境,并依赖包requests==2.23.0

OpsAny自带Zabbix Server已经内置Python环境和opsany_dispatch.py脚本,只需要按步骤配置

  • 1.Zabbix增加报警媒介

管理--报警媒介类型--创建媒体类型

新建报警媒介
#    名称: OpsAny
#    类型:脚本
# 脚本名称:opsany_dispatch.py
# 脚本参数:
1. https://www.opsany.com  # OpsAny域名地址
2. workbench  # saas 应用ID(可以使用新建的saas)
3. 8c31c64e-5708-4f9f-a9e2-f38147931bad  # saas 应用TOKEN(可以使用新建的saas token)
4. {ALERT.SENDTO}  # 接收人(OpsAny用户名-用户配置告警媒介接收人)
5. {ALERT.SUBJECT}  # 告警标题(报警媒介告警模板主题)
6. {ALERT.MESSAGE}  # 告警内容(报警媒介告警模板消息)
img

  • 2.Zabbix增加报警媒介告警模板(主题和消息可自定义)
添加模板
1. 选择 Message templates
2. 添加
3. 填写发送模板
    Message type:问题
    主题:主机 {HOST.NAME} 发现告警 {EVENT.NAME}
    消息: 
Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}
4. 更新-更新

img

  • 3.Zabbix增加action

配置--动作--Trigger actions--创建动作

增加action
动作:
    名称:OpsAny
操作:
    默认操作步骤持续时间: 10m (时间可以自定义)
    操作:
        Operation: 发送消息
        步骤: 1  0  (可以自定义)
        步骤持续时间: 0  (可以自定义)
        Send to users: 选择用户
        仅送到:OpsAny(选择在报警媒介配置的名称)
img

  • 4.用户配置
用户配置告警媒介
报警媒介:
    类型:OpsAny(选择在报警媒介配置的名称)
    收件人:OpsAny用户名(不存在会报错)
    当启用时:1-7,00:00-24:00  (可以自定义)
    如果存在严重性则使用 全选 (可以自定义)
    已启用  勾选

img

  • 5.检查日志

配置好后检查发送日志是否有报错 img

为什么不直接替代Zabbix Web?

OpsAny的理念是拥抱开源,而非套娃。我们仍然建议您直接使用Zabbix Web进行监控项和触发器的管理,OpsAny通过集成Zabbix,补足Zabbix资产管理的短板,通过对接管控平台,补足Zabbix在自动化主机纳管和监控覆盖率的短板。本身Zabbix是一个非常强大的企业级监控工具,也是我们推荐的监控工具。OpsAny团队也提供Zabbix解决方案实施和非官方源码级技术支持服务。

集成Prometheus

OpsAny社区版还支持集成Prometheus,在管控平台添加主机时可以通过Consul自动添加主机到Prometheus Server。

全新部署Prometheus进行集成

1.安装Prometheus和Consul

修改配置文件install.config,设置Prometheus的admin用户的密码。下面为默认值PROM_SERVER_PASSWD="OpsAny@2020"

cd /opt/opsany-paas/install
source install.config
./prom-install.sh install

2.打开【管控平台】-(采控管理)-Prometheus集成-新增Server。

案例:

Prometheus URL
    访问地址:http://192.168.56.11:9090    #端口默认为9090
    开启验证
    用户名:admin  # 用户名默认是admin
    密码:OpsAny@2020   # 密码读取的install.config中配置。

Consol URL
    访问地址:http://192.168.56.11:8500    #端口默认为8500
    开启验证
    Token:xxx    # Token在安装时随机生成,保存在/opt/opsany/conf/.consul_token 

添加完毕后,Prometheus和Consul状态均为正常,证明集成成功。

使用已经存在的Prometheus进行集成

1.确定已经部署Prometheus Server地址,如果没有Consul服务,需要单独部署Consul服务,并手工进行集成。 需要自行进行调试,将Prometheus和Consul进行集成。Consul需要开启Token验证。可以参考OpsAny使用的Prometheus配置文件。

2.打开【管控平台】-(采控管理)-Prometheus集成。

案例:

Prometheus URL
    访问地址:http://192.168.56.11:9090
    用户名:admin
    密码:OpsAny@2020

Consol URL
    访问地址:http://192.168.56.11:8500    
    Token:xxx

3.管控平台-主机管理-配置

现在可以在主机管理-配置,设置监控插件,选择刚才集成的Prometheus Server。

如何查看Prometheus监控指标

OpsAny已经集成了Grafana,可视化平台对Grafana做了二次开发后进行了集成。如果你熟悉Grafana。请使用可视化平台完成你想要的一切功能。

你也可以直接访问Prometheus的Web UI进行数据的查看。如果是云主机,需要安全组开启9090端口对外。


Document