【问题标题】:ping external host from zabbix agent从 zabbix 代理 ping 外部主机
【发布时间】:2014-09-18 09:12:40
【问题描述】:

我们正在运行一个典型的 zabbix 服务器设置。一个 zabbix 服务器和几个安装了 zabbix 代理并由 zabbix 服务器监控的 linux 服务器。但是,我的问题是有办法检查 linux_host A 到 linux_host B 之间的 ping(可能是 icmpingsec 吗?:confused:) 并将结果输出到来自 linux_host A 的 zabbix 服务器??

我尝试了简单的检查icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>],但我发现ping是由zabbix服务器本身而不是主机A执行的。

感谢您的帮助!

【问题讨论】:

    标签: external ping agent zabbix


    【解决方案1】:

    找到添加此用户参数的解决方案:

    UserParameter=chk.fping[*],sudo /usr/bin/fping -c 3 $1 2>&1 | tail -n 1 | awk '{print $NF}' | cut -d '/' -f2
    

    在 /etc/sudoers 中添加许可,因为创建 SOCKET 时出错。

    zabbix ALL=(ALL) NOPASSWD:/usr/bin/fping

    在模板中,您可以添加要 ping 的项目

    chk.fping[8.8.8.8]

    【讨论】:

      【解决方案2】:

      目前,开箱即用不支持通过 Zabbix 代理 ping 主机的功能,但有一个功能请求:ZBXNEXT-739。同时,您应该在执行 ping 的代理上添加一个用户参数。

      【讨论】:

      • 感谢您提供的信息,我进行了研究,发现如何使用此代码UserParameter=<key>,fping x.x.x.x | grep alive | wc -l ping 通用户参数,但它只输出 1 和 0,有没有办法输出响应时间和图表它在zabbix服务器上?
      【解决方案3】:

      我找到了一种从 zabbix 代理获取 ping 延迟以 ping 外部主机的方法。我在zabbix_agentd.conf中声明了这个参数

      UserParameter=key_name[*],fping -e x.x.x.x | awk '{ print $4 }' | tr -d '('
      

      它输出响应时间,仅数值。我的下一个问题是如何使 zabbix 服务器可以读取此命令,以便通过图形查看它。在 zabbix 服务器上,输出是 "no data",但在 Hosts > Items 下,它是绿色且已启用。

      感谢您的帮助!

      【讨论】:

      • 请注意,如果您使用带有参数的用户参数,那么在 awk 命令中您应该使用 $$4 而不是 $4。否则,Zabbix 代理将尝试用项目的第四个参数替换 $4,该参数可能为空。如果您将 IP 硬编码到命令中,只需在密钥名称中省略“[*]”。有关用户参数的更多信息,请参阅zabbix.com/documentation/2.2/manual/config/items/userparameters
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多