Zabbix创建自定义监控项

  • A+
所属分类:Zabbix 网络监控

Zabbix自带了许多常用的监控项目,比如处理器负载、进程数量、网卡流量、系统运行总时间等等,但实际工作中经常会监控一些比较偏门的数值信息,所以创建自定义监控项是非常重要的一个知识点。本文以监控Windows系统中的Nginx当前连接数为例,并使用线性图形化的方式显示相关数据。

实验环境

Zabbix Server:3.4.14

Zabbix Agentd:3.4.6

Linux 监控端 IP地址:192.168.1.168

Windows被监控端 IP地址:192.168.1.2

Windows Zabbix 代理篇

第一步 创建自定义监控项

在Windows系统的Zabbix Agentd配置文件夹中新建一个自定义监控项配置文件,为了方便识别教程中把文件命名为nginx.active.number.conf,存放路径为:C:\zabbix\conf。

自定义监控配置文件主要由两部分组成:UserParameter=键值(Key),命令(cmd)。Key可以自定义,但必须确保唯一;cmd可以自由发挥,能正确获取需要的数据即可。最终配置如下,红色内容为key,蓝色内容为cmd:

扩展阅读展开

Windows系统环境中默认是没有curl、grep、gawk命令的,可以通过安装Cygwin快速安装相关linux常用命令,并手动配置环境变量。

  1. UserParameter=nginx.active.number,curl -s "http://192.168.1.2/nginx-status" | grep "Active" | gawk '{print $NF}'  

第二步 修改主配置文件

修改zabbix_agentd.win.conf文件,确保已经开启允许使用自定义监控功能,以及配置自定义监控文件的路径。

大约在第248行,找到:

  1. #Include=  

把自定义监控配置文件的路径根据实际情况填写上去,比如教程中是:C:\zabbix\conf,最终修改如下:

  1. Include=C:\zabbix\conf\  

大约在第267行,找到:

  1. #UnsafeUserParameters=  

默认情况下是被注释的,所以无法使用自定义监控功能,选择开启它,最终修改如下:

  1. UnsafeUserParameters=1  

全部修改完成后,重启一次Zabbix Agentd服务。

第三步 启动Nginx

为了方便测试,教程中使用phpStudy快速搭建Nginx。启动后请确保可以正常访问Nginx的状态页,比如访问http://192.168.1.2/nginx-status,能看到活动连接数。

Linux Zabbix 服务端篇

第一步 测试自定义监控项

创建好监控项配置文件后,先不急于进入Web添加监控,建议先在Zabbix服务端上使用zabbix_get命令测试验证新监控项的可用性,确保能得到正确的数据。

  1. [root@Wanghualang~]# zabbix_get -s 192.168.1.2 -p 10050 -k "nginx.active.number"  

第二步 添加监控项

进入Zabbix Web控制台,依次点击Configuration - Hosts,选择被监控的主机,教程中的Windows主机已命名为机械革命笔记本;进入对应主机后,依次点击Items - Create Items,输入相关监控项信息即可,具体监控填写内容见扩展阅读。

扩展阅读展开

Name(名字):建议设置为监控项的键值,教程中是nginx.actice.number。

Type(类型):根据实际情况选择即可,教程中是在Windows主机上安装了Zabbix Agentd,所以选择Zabbix Agent。

Key(键值):必须确保键盘是存在且有效,教程中是nginx.actice.number。

Host interface(主机接口):一般情况下会默认识别,不用配置。

Type of information(信息类型):根据实际情况选择即可,教程中是获取Nginx活动连接数,肯定是大于零的整数,所以选择数字(无正负值)/Numeric(unsigned)。

Units(单位):当数据超过一定数量时的表示单位,教程中的Nginx活动连接数不会太大,忽略此项。

Update interval(更新间隔):按需选择即可,如果想线性图形化起伏明显,可以把更新间隔的数值设置小一些。

Custom intervals(自定义时间间隔):按需选择即可,教程中没必要设置,忽略此项。

History storage period(历史数据保留时长):按需选择即可,教程中使用默认的90天。

Trend storage period(趋势存储时间):按需选择即可,教程中使用默认的365天。

Show value(查看值):这个其实我没看懂,感觉和监控Nginx活动连接数也没什么关系,暂时忽悠此项。

New application(新的应用集):首次添加监控项的时候,可以根据监控项的类别建立一个应用组,方便日后管理,教程中创建了一个Nginx组。

Applications(应用集):默认自带了常用的应用组,如果有需要也可以把正在添加监控项放到相关应用组,方便日后管理。教程选择新建组,忽略此项。

Populates host inventory field(填入主机资产纪录栏位):我Zabbix资产管理功能我觉得做得不是特别好,也不打算使用,忽悠此项。

Description(描述):随着监控项不断增加,建议为每个监控项做个功能描述吧,方便日后管理。

Enabled(已启用):打算立即启用项监控项的话,打勾即可。

第三步 创建图形数据

进入Zabbix Web控制台,依次点击Configuration - Hosts,选择被监控的主机,教程中的Windows主机已命名为机械革命笔记本;进入对应主机后,依次点击Graphs - Create Graphs,输入相关图形信息即可,具体图形填写内容见扩展阅读。

扩展阅读展开

绝大部分参数都只是影响图形化的外观,大家可以随时按需调整,这里只说明几项比较关键的。

Name(名字):建议大家使用中文名,这里其实可以当作是监控项的中文备注名,方便调用图形化数据。

Items(监控项):选择之前创建的nginx.active.number监控项。

Preview(预览):填写完相关信息后,可以切换预览选项卡,简单看看图形化效果。

第四步 查看图形化

进入Zabbix Web控制台,依次点击Monitoring - Graphs,选择对应的Group、Host、Graph,调出机械革命笔记本的Nginx连接活动数图形化数据,最终展示效果如下:

扩展阅读展开

为了让线性图形化起伏明显,大家也可以使用ab压力测试工具,模拟多线程访问Nginx状态页。

Zabbix创建自定义监控项

  • 微信赞助网站
  • weinxin
  • 支付宝赞助网站
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: