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

基础监控集成

基础监控部署(可选)

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

1.部署基础监控

已经默认安装了基础监控,请检查平台导航中,是否存在【基础监控】平台,仅需要安装Grafana插件即可。

1.设置admin密码

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

INSTALL_PATH=/opt/opsany
vim $INSTALL_PATH/conf/.passwd_env

2.安装基础监控平台

OpsAny自2.2.0版本开始默认会安装基础监控,请勿重复安装。

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

2.为Grafana安装Zabbix插件

已经默认安装了基础监控,请检查平台导航中,是否存在【基础监控】平台,仅需要安装Grafana插件即可。

OpsAny全平台的监控数据展示均采用Grafana,必须安装Grafana插件才能从Zabbix获取数据进行展示。 由于国内访问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-base-grafana:/var/lib/grafana/plugins/
docker restart opsany-base-grafana

集成Zabbix

OpsAny的监控能力依赖Zabbix进行,要使用基础监控的功能必须基础Zabbix。

部署Zabbix

如果你的环境中没有Zabbix,你可以自行部署Zabbix,我们也提供了部署脚本,可以进行一键部署。 注意如果ALL in One部署至少需要16G内存为佳,8G内存增加基础监控部署内存资源不够。出现未知错误时,请第一时间查看内存使用率。

# 推荐使用Zabbix 7.0 LTS版本。
cd /opt/opsany-paas/install/
./zabbix-install.sh 7.0

Tip

自v2.2.2版本开始,执行上面脚本会自动在管控平台进行Zabbix集成,减少了用户手工集成的步骤,但是告警集成,仍然需要手工集成。

集成Zabbix

OpsAny仅支持Zabbix的LTS长期支持版本,例如5.0LTS、6.0LTS和未来马上发布的7.0LTS,不支持6.2,6.4这样的非长期支持版本。

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

使用zabbix-install.sh安装的Zabbix默认端口为8006,默认用户名Admin,默认密码:zabbix。

img

Zabbix如何和OpsAny同步

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

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

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

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

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

由于Zabbix采用的镜像为官方镜像,为了方便标准化管理,需要用户手工执行操作,来增加运行环境。

# 将/opt/opsany-paas/install/opsany_dispatch.py脚本其放置到Zabbix Server的/usr/lib/zabbix/alertscripts (此路径为Zabbix配置的脚本路径,可根据Zabbix配置文件指定脚本目录)路径并授权执行权限。
docker cp opsany_dispatch.py opsany-zabbix-server-7.0.3:/usr/lib/zabbix/alertscripts/

# 安装Python3和依赖包
docker exec -it --user root opsany-zabbix-server-7.0.3  /bin/bash
chmod +x /usr/lib/zabbix/alertscripts/opsany_dispatch.py
apt update
apt install -y python3 python3-pip
pip3 install requests==2.32.3 --break-system-packages -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

  • 1.Zabbix增加报警媒介

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

新建报警媒介
#    名称: OpsAny
#    类型:脚本
# 脚本名称:opsany_dispatch.py
# 脚本参数:
1. https://www.opsany.com  # OpsAny域名地址
2. workbench  # 工作台应用ID
3. 8c31c64e-5708-4f9f-a9e2-f38147931bad  # 工作台SECRET_KEY(开发中心-内置应用-工作台详情中获取)
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实例直接加入到OpsAny,是需要Prometheus通过Consul进行自动发现才可以实现。

全新部署Prometheus进行集成

1.安装Prometheus和Consul

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

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

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在安装时随机生成,保存在$INSTALL_PATH/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监控指标

社区版的基础监控中并不包括Prometheus的集成,在主机监控无法查看使用Prometheus监控插件的主机,OpsAny已经集成了Grafana,可视化平台对Grafana做了二次开发后进行了集成。如果你熟悉Grafana。请使用基础监控嵌入的Grafana完成你想要的一切功能。

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


Document