Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 2.9 KB

README.md

File metadata and controls

96 lines (66 loc) · 2.9 KB

应用自动注册

1 说明

1.1 背景

服务部署时,需要自动将监控服务部署到服务器上,同时将需要监控的项目关联 OK ,所以有如下两种解决方案

  • 服务端配置关联模板
    • [操作:] 客户端机器自动注册后,通过 zabbix 服务端配置关联模板
    • [优点:] 监控配置统一配置,集中管理
  • 客户端机器通过 lld 自动上报服务
    • [操作:] 客户端机器自动注册后,并自动关联(应用自动注册 lld) 模板,然后上报自己的监控项信息
    • [优点:] 客户端机器新增机器时,无需配置 zabbix 服务端
    • [缺点:] 客户端上报的应用信息有限,比如仅仅返回应用运行状态,应用版本号

1.2 使用

agent

install 中安装执行 install.sh

server

  • 导入 templates 的模板

  • 对要监控的机器关联 templates 模板

2 实现

程序实现客户端机器通过 lld 自动上报服务

2.1 客户端自动发现规则并上报自己机器上的应用

  • 应用名配置文件 /etc/zabbix/zabbix_service
    • 配置文件规则 应用名1|应用名2|应用名3

2.2 应用监控信息

zabbix server 根据应用名获取应用的监控项信息

  • 应用运行状态
    • 正常 0
    • 警告 1
    • 错误 2
    • 没有找到对应key -1
    • 未知状态 -2
  • 应用版本号
    • 没有获取到版本号 -1
    • 版本号 xxx

3 原理

  • install 里面安装的程序是可以使 agent 采集到要监控的数据
  • templates 中包括了要监控机器要监控的指标及报警条件,导入后关联要监控的主机即可

4 程序说明

文件位置:./install/conf/service.py

usage:
service.py discovery                    # 输出程序中数组中的服务
service.py discovery_file 'config_file' # 输出配置文件中中的服务,配置文件中将服务依次进行编写即可
service.py server_status 'server_name'  # 获取服务状态

5 二次开发

5.1 修改模板

  • 模板名(Template name),如 service 修改为 s3
  • 应用名(Application)a,如 service 修改为 s3
  • 发现规则(Discovery rules),如 service.discovery 修改为 s3.discovery,当然 Name 部分也修改下
  • 监控项原型的 Name 和 Key
  • 触发器原型的 Name

5.2 agent 采集程序

编写对应的 discovery 以及不同服务返回的状态