我应该在 Linux 服务器上监控哪些指标?

我应该在 Linux 服务器上监控哪些指标?

我的任务是设置 300 台服务器的监控,做不同的事情。我一直在研究各种工具,比如 Nagios、Munin 等 - 所以我对如何实现监控有了一个很好的想法。

我想知道的是,如果我对服务器不太了解,通常应该默认监控哪些指标?而且,就警报而言,什么是“合理的默认值”?

我的计划是首先部署一个具有合理默认值的监控方案,同时规划出不同系统的角色——我预计这会花费一些时间。

这个问题也可以换一种方式来问:

如果您正在设计监控设备 - 它的默认 Linux 监控模板应该包含什么?

答案1

指示问题的常见指标包括 CPU 利用率、内存利用率、平均负载和磁盘利用率。对于邮件服务器,邮件队列的大小是一个重要指标。对于 Web 服务器,繁忙服务器的数量是一个重要指标。网络吞吐量过大也会导致问题。如果您有需要检查时间的进程,NTP 可以成为保持时钟同步的重要工具。

我使用的标准警告级别包括(警告、严重)。您可能需要根据多种因素调整值。较高的值会减少警报数量,而较低的值会让您有更多时间对正在出现的问题做出反应。这可能是模板的合适起点。

  • 持续的 CPU 利用率(80%,100%)。排除优化进程的时间。
  • 每个 CPU 的平均负载(2、5)。
  • 每个分区的磁盘利用率(80%,90%)。
  • 邮件队列(10,50)。在非邮件服务器上使用较低的值。
  • 繁忙的网络服务器(10、25)。
  • 网络吞吐量(80%,100%)。网络备份和其他类似过程可能会超过该值。如果有限制设置,我会使用它们。
  • NTP 偏移量(秒)(0.2, 1)。

Munin 在收集这些统计数据和其他数据方面做得很好。它还能够在超过阈值时触发警报。它的警告功能不如 Nagios。它收集和显示历史数据,因此非常适合用来检查当前值是否与过去值有显著差异。它易于设置,运行时不会产生警告。主要问题是捕获的数据量,以及它收集信息的固定频率。您可能希望根据需要生成图表。Munin 提供了许多我在sar系统出现问题时会检查的统计数据。它的概览页面对于识别可能的问题很有用。

Nagios 非常擅长发出警报,但从历史上看,它并不擅长以适合与当前值进行比较的方式收集历史数据。这种情况似乎正在改变,新版本在收集这些数据方面要好得多。它是在出现问题时生成警告以及安排不生成警报的停机时间的好选择。Nagios 非常擅长在服务中断时发出警报。这尤其适用于关键服务器和服务。

答案2

如果我是你,我会使用 Nagios,原因如下(其中两个):

  1. 您可以使用“模板”并设置服务器组,并使用不同的指标监控不同的“组”。例如,将所有 Web 服务器放在一个组中,将所有数据库服务器放在另一个组中,等等...
  2. 自动将警报发送到电子邮件等非常容易......(并且如果第一个值班响应者在一定时间内没有响应警报,则创建警报升级)

第三个原因是 Nagios 已经带有默认监控模式,它可以处理您想要全面监控的大多数事项 - 因此您不必一开始就设置自己的监控“指标”。

但是如果我要设置自己的指标,我会监控所有服务器的内容,例如:服务器负载、可用磁盘空间、可用内存、交换空间使用情况,然后我还会使用 ICMP ping 等进行一些外部监控...

答案3

可以先监控cpu,内存等系统资源。

然后,您可以监控特定于服务的资源。例如,您可以监控响应时间和活动连接数。

对于默认监控值,我认为它应该与预期的使用模式以及您预计服务器的繁忙程度有关。

答案4

通常,我首先会监控服务器负载、CPU 使用率、内存、磁盘空间、I/O 和网络流量。然后,根据服务器类型(Web/邮件/数据库/NIS),我会监控特定于应用程序的统计数据和其他重要数据,如接口错误、延迟和响应时间等。

相关内容