Check_MK:如何基于服务组而不是仅基于一项服务创建通知?

Check_MK:如何基于服务组而不是仅基于一项服务创建通知?

我希望能够创建一个基于一组服务的可用性(而不是仅基于一个阈值)发出警报的通知。例如,假设我有 10 台 AWS 服务器,它们都执行相同的操作,并且我预计其中一些服务器有时会过载/发生故障,但不会损害应用程序:我希望 Check_MK 在给定服务中如果有 10 台服务器中有 3 台(或更多)发生故障时通知我。如果一台发生故障,请不要通知我。另一个可能更简单的例子:假设您在 20 台服务器上有一个 NFS 挂载点,来自同一个 NFS 服务器。我不想收到 20 条警告或严重警告,因为我只能收到一条。

我的环境中的上述示例已按服务组分组。

我在Check_MK 1.2.6p16中尝试了三种不同的机制:

  1. 使用商业智能。分组和警告设置非常棒,它满足了我的要求!但通知规则不允许任何与产品的 BI 组件相关的内容!

  2. 集群 - 我为 AWS 服务器设置了一个集群,但由于我的一些检查(最值得注意的是我的 HTTP 主动检查)需要主机名,所以这无济于事。我认为集群不是这里合适的选择,但如果我错了,请纠正我。我放弃了查看它。

  3. 服务组警报——这是这个问题的初衷。通知逻辑中没有任何内容可以让我发出有关服务组可用性的警报。

有人使用 Check_MK 完成了这个吗?

答案1

NFS 示例会比较棘手,因为没有办法自动管理跨主机服务依赖关系。您需要一个解决方法。您可以正确监视导出和 nfs 服务(有一个 nfsexports 检查,您还可以尝试检查 rpcinfo 连接)如果防火墙出现故障,它会留下一个漏洞,但如果您很好地监视 nfs,请专注于服务器。

1) BI 不会直接发出警报,您需要使用 check_bi_aggr 来构建警报。(使用它将生成的服务名称)。因此,需要为此配置通知规则。如果您达到 3/10 的分数,它应该会快速发出警报。

然后应该修改各个服务的通知。即将它们设置为长时间不通知。即通过通知延迟。

2)对此几乎无用,直到最后一个失败为止它都会保持内容

3) 基本上是 Nagios 的限制,忘掉这个吧。

相关内容