且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-29 23:36:03

有时候机房网络故障需要提供一份路由图给机房找问题,故想在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


2、zabbix中“管理”——“脚本”中添加刚刚写的脚本:当zabbix出现Zabbix agent on xxx s unreachable for 3 minutes时做一次tracert

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


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

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

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


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