跳到主要内容

第4章 自定义监控项

1.自定义监控项语法

UserParameter=监控项名称,取值命令或脚本

2.自定义监控项

第一步:理解需求

监控有多少个用户正在同时登陆

第二步:收集正确的命令并验证

who|wc -l

第三步:编写自定义监控项配置文件

[root@web-7 ~]# cat /etc/zabbix/zabbix_agent2.d/user_login.conf
UserParameter=user_login,who|wc -l

第四步:重启Agent2客户端

[root@web-7 ~]# systemctl restart zabbix-agent2.service

第五步:在 zabbix-server命令行界面使用命令测试能否正确获得监控项的值

[root@m-61 ~]# yum install zabbix-get -y
[root@m-61 ~]# zabbix_get -s 10.0.0.7 -k user_login
2

第六步:在zabbix web页面添加监控项

1738914843756-1e645889-e41e-4c06-ae0c-34daf4736aae.png

1738914936072-2a978b0f-1108-402c-a605-16b7465e479d.png

监控TCP连接状态:

第一步:理解需求

服务器上TCP的不同连接状态的数量

第二步:收集正确的命令并验证

[root@web-7 ~]# netstat -antp|grep "TIME_WAIT"|wc -l
45
[root@web-7 ~]# netstat -antp|grep "LISTEN"|wc -l
5
[root@web-7 ~]# netstat -antp|grep "ESTABLISHED"|wc -l
2

第三步:编写自定义监控项配置文件

[root@web-7 ~]# cat /etc/zabbix/zabbix_agent2.d/tcp_status.conf
UserParameter=TCP_TIME_WAIT,netstat -ant|grep "TIME_WAIT"|wc -l
UserParameter=TCP_LISTEN,netstat -ant|grep "LISTEN"|wc -l
UserParameter=TCP_ESTABLISHED,netstat -ant|grep "ESTABLISHED"|wc -l

第四步:重启Agent2客户端

systemctl restart zabbix-agent2.service

第五步:在 zabbix-server命令行界面使用命令测试能否正确获得监控项的值

[root@m-61 ~]# zabbix_get -s 10.0.0.7 -k TCP_LISTEN
5
[root@m-61 ~]# zabbix_get -s 10.0.0.7 -k TCP_TIME_WAIT
41

3.自定义监控项-传参形式

应用场景:

遇到命令相同,只是过滤的值不同,但是监控项数量又很多的情况,适合用传参的形式

传参形式的写法:

[root@web-7 ~]# cat /etc/zabbix/zabbix_agent2.d/tcp_status.conf
UserParameter=TCP_[*],netstat -ant|grep -c "$1"

测试命令:

[root@m-61 ~]# zabbix_get -s 10.0.0.7 -k TCP_[TIME_WAIT]
50
[root@m-61 ~]# zabbix_get -s 10.0.0.7 -k TCP_[LISTEN]
5

web页面操作:

1738919996830-ed337853-c595-4dfc-88dd-d186754fb8e8.png