我一直负责设置300台服务器的监控,做不同的事情。 我一直在寻找各种工具,比如Nagios,Munin和其他的工具,所以我首先得到了一个很好的主意,就是如何实现监控。
我想知道的是,在我对服务器了解不多的情况下,哪些度量标准通常会被视为一个很好的默认值? 而且,就警报而言,“理智的违约”是什么?
我的计划是部署一个以理智默认值为首的监控scheme,同时绘制出不同系统的angular色 – 我预计这需要一些时间。
这个问题也可以用不同的方式提出:
如果您正在devise一个监控设备,那么它的默认Linux监控模板应该包含哪些内容?
表示问题的通常指标包括CPU利用率,内存利用率,负载平均值和磁盘利用率。 对于邮件服务器,邮件队列的大小是一个重要的指标。 对于Web服务器来说,繁忙的服务器数量是一个重要的衡量指标。 networking吞吐量过高也会导致问题。 如果您有需要检查时间的进程,NTP可以成为保持时钟同步的重要工具。
我使用的标准警告级别包括(警告,关键)。 您可能需要根据多种因素调整您的值。 更高的值会减less警报的数量,而更低的值会让您有更多的时间来解决问题。 这可能是模板的一个合适的起点。
Munin在收集这些统计资料和其他方面做得很好。 当阈值通过时,它也具有触发警报的能力。 它的警告能力不如Nagios。 它的收集和显示历史数据使得能够检查当前值是否与过去值显着不同是一个很好的select。 它很容易设置,可以运行而不会产生警告。 主要问题是捕获的数据量,以及收集信息的固定频率。 您可能需要根据需要生成图表。 Munin提供了许多统计数据,当系统出现问题时,我会用sar来检查。 它的概述页面可用于识别可能的问题。
Nagios非常善于提醒,但历史上并不擅长以适合与当前价值进行比较的方式收集历史数据。 看来这个情况正在改变,新版本收集这些数据要好得多。 在出现问题时生成警告,以及不会生成警报的时间安排是一个很好的select。 当服务closures时,Nagios非常擅长提醒。 这特别适合关键的服务器和服务。
如果我是你,我会用Nagios,原因很多(这里有两个):
第三个原因是,Nagios已经有了一个默认的监视模式,它可以处理大部分你想要监视的东西 – 所以你不必设置自己的监视“指标”来开始。
但是,如果我设置了我自己的度量标准,我将监视所有服务器的东西,如:服务器负载,可用磁盘空间,可用内存,交换空间的使用情况,然后我也会做一些ICMP坪等外部监测…
您可以先监视系统资源,如CPU和内存。
然后,您可以监视特定于服务的资源。 例如,您可以监视响应时间和活动连接的数量。
对于默认监视值,我认为它应该与预期的使用模式有关,以及您期望服务器繁忙的程度。
一般来说,我会监视,服务器负载,CPU使用率,内存,磁盘空间和I / O和networking通信。 然后根据服务器的types(networking/邮件/数据库/ NIS),我会监视应用程序特定的统计数据和其他重要信息,如接口错误,延迟和响应时间等。