yinian 发表于 2019-1-19 12:25:35

当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中“管理”——“脚本”中添加刚刚写的脚本:http://blog.运维网.com/attachment/201306/112359897.png
  {HOST.CONN} 就是传给脚本的IP参数
  

  3、“配置”——“操作”中添加一个触发器:
http://blog.运维网.com/attachment/201306/112645611.png
http://blog.运维网.com/attachment/201306/112646318.png
  

  operation type 中 选择执行命令
  Target list 中选择当前host,表示要对当前host执行脚本
  类型 就选刚刚在脚本中添加的
  

  然后就OK了,接下来测试一下:
  这时候发现报了一个错误:The specified type of tracerouting is allowed for superuser only
  zabbix用户无权执行tracert命令,于是果断chmod u+s /bin/traceroute,问题解决,一切正常~~~
  




页: [1]
查看完整版本: 当zabbix出现Zabbix agent on xxx s unreachable for 3 minutes时做一次tracert