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