nagios 服务中的随机服务器

nagios 服务中的随机服务器

我有一个包含 N 个节点的集群,其中包含一些分布式信息。我想要监控的查询nagios只在集群的一个节点(任意一个)上执行是有意义的。但我不想让某个特定节点过载,所以我想nagios每次都选择随机节点来自节点列表。

因此,我希望看到类似这样的内容:

define service{
    service_description    Recent document time for the cluster
    hostgroup_name         random
    ...
}

random主机组以某种方式定义的地方随机节点来自预定义的集群节点列表。

可以使用 nagios3 来实现吗?有什么建议吗?

答案1

您能否设置 DNS 来为您提供具有特定名称的随机主机?

您还可以编写自定义服务支票。

如果您真的想要 nagios 中的这个功能...破解源代码

答案2

我不相信这可以通过 nagios 原生实现。但是,可以通过自定义检查脚本来实现,该脚本以您选择的语言实现。每次运行时,只需让检查脚本选择一个随机(或循环等)节点即可。

答案3

据我所知,如果您正在运行自己编写的自定义插件,那么添加一个从多个传递的主机中随机提取的选项并只测试其中一个应该是非常简单的。

您确实提到有 N 个节点,我不认为这些节点都位于某种 VIP 后面,只指向一个节点,并根据需要移动到不同的框?

对设置进行更多的描述将会很有帮助,如果我们找不到任何东西,我很乐意帮助您想出一些东西,即使它是定制的。

答案4

我有一个 check_nrpe 包装器可以做到这一点。我创建一个主机对象,将“名称”目标设置为“RANDOM-001”(也支持“RNDRBN-001”)。当 check_nrpe 包装器看到此内容时,它会使用尾随数字从 Perl 服务器主机名列表中进行选择,以将检查发送到该服务器。然后只需将其作为主机名添加到服务检查描述中即可。包装器的较新版本从 Nagios hostgroups.cfg 文件中获取主机名。

相关内容