运维监控篇(9)_Zabbix 自定义监控项(UserParameter)

Zabbix自带了很多模板,自带模板中面提供了较通用的监控项比如:CPU、内存、磁盘、网络等,但是当要监控如mysql、mongodb、php、nginx等监控项时就需要我们自己来手动配置这些个监控项了,自定义的监控项的流程可以这样

1、zabbix_agentd.conf主配置文件设置
指定其它配置文件的位置,主要便于管理自定义的UserParameter,当然也可以不用直接写到主配置文件也行。

1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

UserParameter接受所有传递的参数(建议开启,有的监控脚本需要传递参数)

1
UnsafeUserParameters=1

2、在Include指定的路径下新建配置文件,添加UserParameter(获取/etc/passwd的行数)
UserParameter的格式:UserParameter=<key>,<shell command>

1
UserParameter=passwd.numlin,wc -l /etc/passwd | awk '{print $1}'

带参数UserParameter的格式:<key[*]>,<shell command>,其中*的意思是方括号中可以有任意多的参数,
每个参数由逗号隔开,分别是$1、$2、$3、... ...

1
UserParameter=test.echo[*],echo $1

3、重启zabbix_agentd,验证UserParameter看是否生效(当然对自己有信心的可以不用验正结果)

1
2
3
4
5
6
7
$ ./zabbix_get -s Zabbix-Server -k passwd.numlin 
31
$ ./zabbix_get -s Zabbix-Server -k test.echo[hello]
hello
$ ./zabbix_get -s Zabbix-Server -k test.echo[hello,world]
hello
$

4、创建Item 只是注意在填写键值(key)的时候,不是点击”选择”而是手动填入自定义的key。其它的设置项没有什么特别的。
zabbix09a
设置并启用Item一段时间后就可以在”最新数据”界面看到监控项的值
zabbix09b
对于带参数的键值(key),其参数$1、$2、$3、等还可以用在Item命名中。
比如key是test.echo[hello],Item名称(Name)是echo $1 test,那么实际显示的是echo hello test
zabbix09c
zabbix09d
有了监控项Item后就可以设置对应的graph、trigger和action了。

----------------本文结束 感谢阅读----------------