服务部署时,需要自动将监控服务部署到服务器上,同时将需要监控的项目关联 OK ,所以有如下两种解决方案
- 服务端配置关联模板
- [操作:] 客户端机器自动注册后,通过 zabbix 服务端配置关联模板
- [优点:] 监控配置统一配置,集中管理
- 客户端机器通过 lld 自动上报服务
- [操作:] 客户端机器自动注册后,并自动关联(应用自动注册 lld) 模板,然后上报自己的监控项信息
- [优点:] 客户端机器新增机器时,无需配置 zabbix 服务端
- [缺点:] 客户端上报的应用信息有限,比如仅仅返回应用运行状态,应用版本号
agent
install 中安装执行 install.sh
server
-
导入 templates 的模板
-
对要监控的机器关联 templates 模板
程序实现客户端机器通过 lld 自动上报服务
- 应用名配置文件 /etc/zabbix/zabbix_service
- 配置文件规则
应用名1|应用名2|应用名3
zabbix server 根据应用名获取应用的监控项信息
- 应用运行状态
- 正常 0
- 警告 1
- 错误 2
- 没有找到对应key -1
- 未知状态 -2
- 应用版本号
- 没有获取到版本号 -1
- 版本号 xxx
- install 里面安装的程序是可以使 agent 采集到要监控的数据
- templates 中包括了要监控机器要监控的指标及报警条件,导入后关联要监控的主机即可
文件位置:./install/conf/service.py
usage:
service.py discovery # 输出程序中数组中的服务
service.py discovery_file 'config_file' # 输出配置文件中中的服务,配置文件中将服务依次进行编写即可
service.py server_status 'server_name' # 获取服务状态
- 模板名(Template name),如 service 修改为 s3
- 应用名(Application)a,如 service 修改为 s3
- 发现规则(Discovery rules),如 service.discovery 修改为 s3.discovery,当然 Name 部分也修改下
- 监控项原型的 Name 和 Key
- 触发器原型的 Name
编写对应的 discovery 以及不同服务返回的状态