启用自定义key,需要在客户端的配置文件中启用UnsafeUserParameters=1参数,然后在配置文件的最下面来定义key。
我的配置配置文件同时打开了Include=/usr/local/etc/zabbix_agentd.conf.d/,就可以把自定义key放到此目录下的任何.conf文件中。
语法:
UserParameter=<key>,<command>
一个简单的例子:
UserParameter=count.passwd,wc -l /etc/passwd
运行命令可以查看key:
[root@localhost zabbix_agentd.conf.d]# service zabbix_agentd restart Shutting down zabbix_agentd: [确定] Starting zabbix_agentd: [确定] [root@localhost zabbix_agentd.conf.d]# cat ps.conf UserParameter=count.passwd,wc -l /etc/passwd [root@localhost zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k count.passwd 27 /etc/passwd
一个传递参数的例子:
[root@localhost zabbix_agentd.conf.d]# cat echo.conf UserParameter=echo[*],echo $1 [root@localhost zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k echo[haha] haha
这里的echo[haha]中的haha表示第一个参数给key的值,haha等于$1
(每次修改配置文件后,记得重启服务)
我相信大家都已经明白了。那就来一个复杂点的。
[root@localhost zabbix_agentd.conf.d]# netstat -ant | awk ‘/^tcp/{++s[$NF]}END{for(a in s)print a,s[a]}‘ TIME_WAIT 289 ESTABLISHED 4 SYN_RECV 1 LAST_ACK 1 LISTEN 13 [root@localhost zabbix_agentd.conf.d]# cat netstat.conf UserParameter=netstat[*],netstat -ant | awk -vSTAT=$1 ‘/^tcp/{++s[$$NF]}END{for(a in s)if(a==STAT)print s[a]}‘ [root@localhost zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k netstat[TIME_WAIT] 334
测试key正常,那我们就将它添加到模板中。
保存即可。一会儿就可以看到图了。(添加graph就不再演示了)
原文:http://wang390750.blog.51cto.com/8599831/1361246