![是否可以配置 Nagios 根据特定主机组中一定百分比的服务故障发送通知?](https://linux22.com/image/682954/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E9%85%8D%E7%BD%AE%20Nagios%20%E6%A0%B9%E6%8D%AE%E7%89%B9%E5%AE%9A%E4%B8%BB%E6%9C%BA%E7%BB%84%E4%B8%AD%E4%B8%80%E5%AE%9A%E7%99%BE%E5%88%86%E6%AF%94%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%95%85%E9%9A%9C%E5%8F%91%E9%80%81%E9%80%9A%E7%9F%A5%EF%BC%9F.png)
假设我们有一个由 100 台主机组成的主机组,所有主机都正在监控服务 X。假设此服务在所有主机上都发生故障。我不想收到 100 条单独的警报,而是想收到一条警报,说“服务 X 在整个主机组中都发生故障”之类的。Nagios 能做到这一点吗?如何实现?我在网上查看了一下,但没有看到讨论这种特殊情况的内容。
编辑:请注意,这不是面向网络的服务,这是在每个主机上进行的本地检查。具体来说,这是检查本地 SSL 证书是否已过期。
答案1
我找到了一个可以满足我大部分需求的东西。这是一个 nagios 插件,名为检查多重它将一系列服务和/或主机检查聚合在一起,并根据您指定的一些灵活标准(逻辑)生成单个通知。
答案2
为什么不编写自己的命令/脚本来检查每个服务器证书、汇总数据,然后在一定比例的检查失败时发出警报?
您可以从命令提示符中使用 openssl 检查证书是否过期:
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -dates
在 Bash 中循环遍历您的服务器,然后根据传递给脚本的 Bash 参数设置退出状态,然后将其设置为 Nagios 命令。
Nagios 的优点在于您可以创建自己的监视器,无论用于何种目的。