我使用了相当大的nagiosconfiguration(约4000个服务),没有任何依赖关系。 当出现错误时,这会导致大量的通知。
我尝试使用Nagios依赖关系来寻找最佳实践,但是我在网上find的所有知识都是基于一个示例的基本理解。 我需要的是更深入的信息,以及如何pipe理这样的configuration文件的最佳实践。
例如:在一个使用apache监听的100台服务器的集群上,我正在监视apache进程的数量和监听的tcp端口80.我想让一个依赖于另一个,但是dependent_hostgroup_name不会这样做导致所有“检查过程”服务依赖于每个“check_http”服务。
问题是:你如何pipe理你的依赖关系? 你使用脚本来生成它们吗?
同意,这是很难做到没有脚本。
对于每一个服务检查命令,我已经定义了(通常在数据库表中)通常依赖的东西,这使我不必手动configuration每个服务依赖关系。 主机依赖关系我手工完成,但通过脚本在交换机上进行mac地址发现有助于实现自动化。
例子:
“check_http_content”将取决于“check_http”,这将取决于“check_ping”。
“check_cisco_ifstate”将取决于“check_snmp_ok”,这将取决于“check_ping”
如果使用脚本从数据库构buildconfiguration,这不难实现。 否则,你会想编写一个parsing器来通过你的configuration文件,并根据规则插入依赖关系。
我无法想象如果没有一个configuration数据库来构build你的configuration文件,就可以实现任何可观的nagios实现,它允许你在nagios缺乏的时候添加你自己的抽象,并且使得生活更简单。