如何在 Zabbix 中监控跨多个组件/服务器的应用程序的“系统状态”?

如何在 Zabbix 中监控跨多个组件/服务器的应用程序的“系统状态”?

假设我有一个具有以下设置的应用程序:

  • 5 个运行 Apache 的 Web 服务器
  • 2 个数据库配置为故障转移

在 Zabbix(或者甚至是另一个监控套件)中,是否可能以及如何监控“应用程序状态”并仅在满足以下条件时发出警报:

  • 如果 1 个网络服务器停止响应,则发送“信息”警报
  • 如果 3 个 Web 服务器停止响应,则发送警告
  • 如果所有网络服务器都停止响应,则发送关键
  • 如果一个数据库处于离线状态,则发送警告
  • 如果两个数据库都离线,则发送灾难

我知道这看起来像是 5 个问题,但根本问题是:如何创建从特定主机抽象出来的警报?在我使用过的每个监控套件中,监控项目/警报都绑定到主机,这会导致丑陋的解决方法,例如“检查数据库以查看所有服务器是否在过去 10 分钟内签到”,如果没有,您会收到一封警报电子邮件,内容是“主机:database01.company.com - webserver05 在 10 分钟内未签到”。这封电子邮件让您相信数据库存在问题(因为检查与数据库相关),但问题实际上出在 Web 服务器上。理想情况下,警报将与“企业应用程序 1”等抽象事物相关联。可以这样做吗?

答案1

zabbix可以使用触发器,可以有一个特定的严重程度绑定到它们。每次触发器改变其状态时,它都会生成一个事件.您可以定义行动发生某些事件时发生的情况。此外,还zabbix能够监控用户定义的网络监控场景。

将发生在不同服务器中的事件关联起来的方法zabbix是定义和配置IT 服务。这可以进行非常细粒度的调整,并解决您提出的五种不同可能性。

相关内容