zabbix 自定义监控项如用ping监测链路【userparameter.conf】

zabbix 自定义监控项如用ping监测链路【userparameter.conf】
一、在装有agent客户端的服务器上的在指定的路径上编写脚本,下图(zabbix_agentd.conf 部分截图)为配置路径位置


二、编写 userparameter.conf 配置文件
 vi /etc/zabbix/zabbix_agentd.d/pingyz.conf
UserParameter=ping.time[*],bash /etc/zabbix/shell/pingyztime.sh $1
UserParameter=ping.loss[*],bash /etc/zabbix/shell/pingyzloss.sh $1
 UserParameter= 这个为固定的,后面的内容以逗号隔开
 其中第一个参数为 监控项名字【key】, 如果需要额外的输入参数,则添加[*]
 第二个参数为执行的脚本,$1代表外部输入的第一个参数,$2代表外部输入的第二个参数,依此类推
三、编写脚本
vi  /etc/zabbix/shell/pingyzloss.sh   
resultloss=` ping   -i 0.2 $1 -c 10 -w 3 | grep   loss| awk   -F  '[ %]+'   '{print $6}' `
echo  ${resultloss}
vi /etc/zabbix/shell/pingyztime.sh
resulttime=` ping  $1  -c 1 | grep  icmp_seq| awk    -F   '[=m]'   '{print $7}' `
echo  ${resulttime}
四、 重启zabbix agent
 service zabbix-agent restart
五、 在agent端进行验证
zabbix_agentd -t  ping.loss["10.255.12.2"]
ping.loss[10.255.12.2]                        [t|0]
如果出现上面的提示表示agent端配置没有问题。
六、zabbix服务器上添加配置,创建item
如图


主要配置在 *Key, 其中自己配置的不能从Select得到,直接在输入框录入
比如:redis.keys.count["{$redis.hostIp}","{$redis.port}",]
中括号里的值为参数,使用逗号隔开参数,参数可以在宏里面定义,然后使用{$}获取,如下图定义

参数与第一个步骤的外部输入参数相呼应。
下面图为示意图,本次样例直接写死,没有写在宏里面
参数与第一个步骤的外部输入参数相呼应。
七、添加告警

{172.24.65.130:ping.loss[10.255.12.2].last()}>0

猜你喜欢

转载自blog.csdn.net/wzlsunice88/article/details/115122222