有时候机房网络故障需要提供一份路由图给机房找问题,故想在zabbix出现访问客户端失败的时候自动做一次tracert并保存结果,请教一下王伟老师,可以这样实现:
1、首先自己写个脚本,接受一个IP为参数,做路由并保存结果:
/usr/local/zabbix/scriptszabbix_tracert.sh
1
2
3
4
|
#!/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
|
{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,问题解决,一切正常~~~
本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/1226489如需转载请自行联系原作者
lihuipeng