1

我不得不修改显示某些主机的一般可用性或状态的 Zabbix 交通灯网页。

更新是因为我正在从 1.8 升级到 2.2 版。不再使用状态字段。

根据我在网上和 zabbix 网站上阅读的内容,现在确定可用性的一般方法是使用 agent.ping 和 agent.ping.nodata 触发器。

我如何在实践中实现它?

https://www.zabbix.com/documentation/2.2/manual/api/reference/trigger/get

4

1 回答 1

2

你问这个问题已经有一段时间了,不过我希望我的回复很有用:)

您可以考虑检查反映接口状态的主机对象(Zabbix Agent、SNMP、IPMI、JMX)。

https://www.zabbix.com/documentation/2.2/manual/api/reference/host/object

然而,这也有不利之处。由于多种原因(凭据更改、防火墙更改、守护进程死亡等),特定接口可能会报告“关闭”。这就是我选择这种方法的原因:

  • 有一项定期 ping 的项目
  • 拥有一项定期提取数据的项目(在我的情况下是 Zabbix Agent 或 SNMP)
  • 有一个触发“ping 失败”,另一个触发“Zabbix Agent 失败”(或 SNMP 失败)。那就是您使用 nodata() 的地方。为其分配中等严重性。
  • 还有一个触发器来检查 pingzabbix 代理故障(严重性很高)——这就是我的死主机检测。它被升级为 7x24。
  • 可选:定义触发器的依赖关系,如果 ping 和 snmp/Zabbix 都失败,您只会得到一个事件(主机死机)
  • 将所有这些放入一个模板并将其分配给相应的主机

现在您可以依赖“主机死机”触发器(无论您是否执行 ping 和 snmp/zabbix/jmx/whatever,它始终可用) - 这比主机对象的默认“接口工作”状态字段更相关。

于 2014-07-14T12:15:14.160 回答