当zabbix出现Zabbix agent on xxx s unreachable for 3 minutes时做一次tracert

有时候机房网络故障需要提供一份路由图给机房找问题,故想在zabbix出现访问客户端失败的时候自动做一次tracert并保存结果,请教一下王伟老师,可以这样实现:


1、首先自己写个脚本,接受一个IP为参数,做路由并保存结果:

/usr/local/zabbix/scriptszabbix_tracert.sh

#!/bin/bash
ip=$1
active_time=`date +%Y%m%d%H%M%S`
/bin/tracert $ip > /usr/local/zabbix/scripts/${active_time}-$ip.txt 2>&1


2、zabbix中“管理”――“脚本”中添加刚刚写的脚本:

{HOST.CONN} 就是传给脚本的IP参数


3、“配置”――“操作”中添加一个触发器:


operation type 中 选择执行命令

Target list 中选择当前host,表示要对当前host执行脚本

类型 就选刚刚在脚本中添加的


然后就OK了,接下来测试一下:

这时候发现报了一个错误:The specified type of tracerouting is allowed for superuser only

zabbix用户无权执行tracert命令,于是果断chmod u+s /bin/traceroute,问题解决,一切正常~~~


你可能感兴趣的:(zabbix,tracert)