假设我有一个具有以下设置的应用程序:
- 5 个运行 Apache 的 Web 服务器
- 2 个数据库配置为故障转移
在 Zabbix(或者甚至是另一个监控套件)中,是否可能以及如何监控“应用程序状态”并仅在满足以下条件时发出警报:
- 如果 1 个网络服务器停止响应,则发送“信息”警报
- 如果 3 个 Web 服务器停止响应,则发送警告
- 如果所有网络服务器都停止响应,则发送关键
- 如果一个数据库处于离线状态,则发送警告
- 如果两个数据库都离线,则发送灾难
我知道这看起来像是 5 个问题,但根本问题是:如何创建从特定主机抽象出来的警报?在我使用过的每个监控套件中,监控项目/警报都绑定到主机,这会导致丑陋的解决方法,例如“检查数据库以查看所有服务器是否在过去 10 分钟内签到”,如果没有,您会收到一封警报电子邮件,内容是“主机:database01.company.com - webserver05 在 10 分钟内未签到”。这封电子邮件让您相信数据库存在问题(因为检查与数据库相关),但问题实际上出在 Web 服务器上。理想情况下,警报将与“企业应用程序 1”等抽象事物相关联。可以这样做吗?