zabbix自定义用户key与参数
来源自 “ttlsa”
什么要自定义KEY有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法。我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter. 语法如下:

用户自定义参数包含一个key和一个命令,key必须整个系统唯一,配置好之后,重启客户端。
Zabbix培训
然后配置item,在key的位置填上我们自定义的key即可。 用户自定义参数里指定的脚本由zabbix agent来执行,最大可以返回512KB的数据. 用户自定义key实例简单点的命令示例:
UserParameter=ping,echo 1
监控软件
如果调用ping这个key,将会收到返回值1. 更复杂的命令示例: UserParameter=mysql.ping,mysqladmin -uroot ping|grep -c alive 如果返回1表示MySQL运行中,如果返回0表示MySQL挂了 灵活的自定义key: 如下为灵活的用户自定义参数 Zabbix实施

参数 | 描述 |
Key | 唯一. 表示里面可以传递多个参数 |
Command | 需要执行的脚本,key的[]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令. |
2. zabbix禁止使用一些不安全的参数,如下: 开源监控软件\ ' ” ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @ 3. 从zabbix 2.0开始,zabbix返回文本数据可以是空格。 示例1UserParameter=ping ,echo $1
ping[0] - 将一直返回0 ping[aaa] - 将一直返回 'aaa' 示例2UserParameter=mysql.ping ,mysqladmin -u$1 -p$2 ping | grep -c alive
如下参数用于监控MYSQL,并且可以传递用户名和密码。
Zabbix安装
mysql.ping[zabbix,our_password] 示例3统计一个文件中有多少行被匹配?
UserParameter=wc ,grep -c "$2" $1 如下方法将会返回文件中出现指定字符的行数 wc[/etc/passwd,root] wc[/etc/services,zabbix]
Zabbix配置
想做Nagios,iTop各种交流的,可以进入开源监控工具Nagios交流 QQ群号 :476809427