基础监控部署¶
部署基础监控¶
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} # 告警内容(报警媒介告警模板消息)
- 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. 更新-更新
- 3.Zabbix增加action
配置--动作--Trigger actions--创建动作
增加action
动作:
名称:OpsAny
操作:
默认操作步骤持续时间: 10m (时间可以自定义)
操作:
Operation: 发送消息
步骤: 1 0 (可以自定义)
步骤持续时间: 0 (可以自定义)
Send to users: 选择用户
仅送到:OpsAny(选择在报警媒介配置的名称)
- 4.用户配置
用户配置告警媒介
报警媒介:
类型:OpsAny(选择在报警媒介配置的名称)
收件人:OpsAny用户名(不存在会报错)
当启用时:1-7,00:00-24:00 (可以自定义)
如果存在严重性则使用 全选 (可以自定义)
已启用 勾选
- 5.检查日志
配置好后检查发送日志是否有报错
为什么不直接替代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端口对外。