![使用 Nagios 进行长期监控:如何使用?](https://linux22.com/image/538903/%E4%BD%BF%E7%94%A8%20Nagios%20%E8%BF%9B%E8%A1%8C%E9%95%BF%E6%9C%9F%E7%9B%91%E6%8E%A7%EF%BC%9A%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
Nagios 在其标准使用监视器中带有时间点检查:某事要么是真的,要么不是真的。
其他工具(如 SGI 的 PCP、HP 的 MeasureWare 和 SEC)提供持续监控 - 监控过去五分钟内的平均磁盘访问时间或其他类似项目。Nagios 有类似的功能吗?我已经在运行 NDOUtils,它似乎是此类数据的自然来源。
我想要一个可以基于时间检查使用历史数据进行监控并发出警报的东西。Nagios 有类似的东西吗?
答案1
我写了一个 Nagios检查插件使用您可能感兴趣的 sar 历史数据。即使它对您来说没有用,您也可以轻松地将其用作更复杂检查的起点。
答案2
你说
使用示例:如果 CPU 负载持续 10 分钟超过 95%,则生成警报。
但 NAGIOS 已经做到了这一点。例如,如果您不想在问题持续 30 分钟后才知道它,请尝试(在服务定义中)
max_check_attempts 6
retry_interval 5
这将导致即使出现软错误后也每隔五分钟检查一次服务,但不会出现硬错误 - 并发出通知 - 直到出现第六次连续的软错误(6 * 5 分钟 = 30 分钟)。
如果这不是您想要的,您能解释一下为什么没有达到要求吗?
编辑:您注意到这对您有用,但它无法应对更复杂的判断问题(例如,foo 在前 30 分钟内超过 60% 的时间处于 80% 以上的状态)。
确实如此,但根据我部署 NAGIOS 的经验,我已经做了很多次了,非常很少有情况是人们真正需要知道这样的事情。他们可能想知道这一点,但当被问及时,他们通常没有工程需求。在这种情况下,“不”是正确的答案;监控工具对业务至关重要,用大量愚蠢的“我想要一匹小马”测试来让行政洗衣房的某个副总裁高兴是错误的事情。
偶尔,当他们确实需要一些复杂的东西时,最好将其放入插件中。例如,我为客户做了一些工作,让他们知道任何给定 NetApp 卷上的快照有多旧,这很好。然后出现了一个合法的工程要求,即检查给定卷集上最年轻快照集的最老成员是否小于给定的限制(您可能需要阅读几次!)。我可能已经折磨 NAGIOS 来根据多个“快照年龄”插件的结果来评估标准,但从长远来看,编写一个插件来跟踪和评估这个复杂的标准要明智得多。
所以我要告诉你:要小心,评估奇数标准是工程上的需要。在少数情况下,编写自己的插件来跟踪它。
答案3
答案4
我研究它已经有好几年了,但是 Cacti 有一个用于对阈值发出警报的插件,称为“thold”或类似的。