Linux 系统监控的 4 个开源工具

还没有读者喜欢这篇文章。
Linux system monitoring tools

Opensource.com

信息是解决任何计算机问题的关键,包括与 Linux 及其运行硬件相关的问题。即使并非默认安装所有工具,但大多数发行版都提供并包含许多工具。这些工具可用于获取大量信息。

本文讨论了一些交互式命令行界面 (CLI) 工具,这些工具随 Red Hat 相关发行版(包括 Red Hat Enterprise Linux、Fedora、CentOS 和其他衍生发行版)一起提供,或者可以轻松安装在这些发行版上。虽然有 GUI 工具可用,并且它们提供良好的信息,但 CLI 工具提供所有相同的信息,并且它们始终可用,因为许多服务器没有 GUI 界面,但所有 Linux 系统都有命令行界面。

本文重点介绍我通常使用的工具。如果我没有介绍您最喜欢的工具,请原谅我,并在评论区告诉我们您使用的工具以及原因。

我在 Linux 环境中进行问题诊断的首选工具几乎总是系统监控工具。对我来说,这些工具是 top、atop、htop 和 glances。

所有这些工具都监控 CPU 和内存使用情况,并且大多数工具至少列出有关正在运行的进程的信息。有些工具还监控 Linux 系统的其他方面。所有工具都提供系统活动的近乎实时的视图。

负载平均值

在继续讨论监控工具之前,务必更详细地讨论负载平均值。

负载平均值是衡量 CPU 使用率的重要标准,但当我说 1 分钟(或 5 分钟或 10 分钟)负载平均值为 4.04 时,这到底意味着什么?负载平均值可以被视为 CPU 需求的度量;它是一个数字,表示等待 CPU 时间的平均指令数。因此,这是 CPU 性能的真实度量,不同于标准的“CPU 百分比”,后者包括 CPU 实际上未工作的 I/O 等待时间。

例如,完全利用的单处理器系统 CPU 的负载平均值为 1。这意味着 CPU 完全跟上需求;换句话说,它具有完美的利用率。负载平均值小于 1 意味着 CPU 未被充分利用,负载平均值大于 1 意味着 CPU 被过度利用,并且存在积压的、未满足的需求。例如,单 CPU 系统中 1.5 的负载平均值表示三分之一的 CPU 指令被迫等待执行,直到前一个指令完成。

这对于多处理器也是如此。如果 4 CPU 系统的负载平均值为 4,则它具有完美的利用率。例如,如果它的负载平均值为 3.24,则它的三个处理器被完全利用,而一个处理器被利用约 76%。在上面的示例中,一个 4 CPU 系统的 1 分钟负载平均值为 4.04,这意味着 4 个 CPU 中没有剩余容量,并且一些指令被迫等待。一个完美利用的 4 CPU 系统将显示 4.00 的负载平均值,因此示例中的系统已完全加载,但未过载。

负载平均值的最佳条件是使其等于系统中 CPU 的总数。这将意味着每个 CPU 都被充分利用,但没有指令必须被迫等待。较长期的负载平均值提供了总体利用率趋势的指示。

Linux Journal 在 2006 年 12 月 1 日的期刊中发表了一篇优秀的文章,描述了负载平均值、其背后的理论和数学,以及如何解释它们。

信号

此处讨论的所有监视器都允许您向正在运行的进程发送信号。这些信号中的每一个都有特定的功能,尽管其中一些信号可以由接收程序使用信号处理程序定义。

单独的 kill 命令也可用于向监视器外部的进程发送信号。kill -l 可用于列出可以发送的所有可能的信号。其中三个信号可用于杀死进程。

  • SIGTERM (15): 信号 15,SIGTERM 是按 k 键时 top 和其他监视器发送的默认信号。它也可能是最无效的信号,因为程序必须内置信号处理程序。程序的信号处理程序必须拦截传入的信号并采取相应的措施。因此,对于大多数没有信号处理程序的脚本,SIGTERM 会被忽略。SIGTERM 背后的想法是,通过简单地告诉程序您希望它自行终止,它将利用这一点并清理打开的文件等,然后以受控和友好的方式自行终止。
  • SIGKILL (9): 信号 9,SIGKILL 提供了一种杀死即使是最顽固的程序(包括脚本和其他没有信号处理程序的程序)的方法。但是,对于没有信号处理程序的脚本和其他程序,它不仅会杀死正在运行的脚本,还会杀死脚本正在运行的 shell 会话;这可能不是您想要的行为。如果您想杀死一个进程并且不在乎是否友好,这就是您想要的信号。该信号不能被程序代码中的信号处理程序拦截。
  • SIGINT (2): 信号 2,当 SIGTERM 不起作用并且您希望程序更友好地终止时,可以使用 SIGINT,例如,不杀死程序正在运行的 shell 会话。SIGINT 向程序正在运行的会话发送中断信号。这等效于使用 Ctrl-C 组合键终止正在运行的程序,特别是脚本。

为了进行实验,打开一个终端会话,在 /tmp 中创建一个名为 cpuHog 的文件,并使用权限 rwxr_xr_x 使其可执行。将以下内容添加到文件中。

#!/bin/bash
# This little program is a cpu hog
X=0;while [ 1 ];do echo $X;X=$((X+1));done

在不同的窗口中打开另一个终端会话,将它们相邻放置,以便您可以观察结果并在新会话中运行 top。使用以下命令运行 cpuHog 程序

/tmp/cpuHog

此程序只是简单地加一计数并将 X 的当前值打印到 STDOUT。它会占用 CPU 周期。运行 cpuHog 的终端会话应在 top 中显示非常高的 CPU 使用率。观察这对 top 中的系统性能的影响。CPU 使用率应立即大幅上升,负载平均值也应随着时间的推移开始增加。如果需要,您可以打开其他终端会话并在其中启动 cpuHog 程序,以便运行多个实例。

确定您要杀死的 cpuHog 程序的 PID。按 k 键并查看摘要部分底部交换行下方的消息。Top 要求您输入要杀死的进程的 PID。输入该 PID 并按 Enter。现在 top 要求输入信号编号,并显示默认值 15。尝试此处描述的每个信号并观察结果。

Linux 系统监控的 4 个开源工具

top

我在执行问题诊断时使用的第一个工具之一是 top。我喜欢它,因为它自古以来就存在,并且始终可用,而其他工具可能未安装。

top 程序是一个非常强大的实用程序,它提供有关正在运行的系统的丰富信息。这包括有关内存使用情况、CPU 负载以及正在运行的进程列表的数据,包括每个进程使用的 CPU 时间和内存量。Top 以近乎实时的速度显示系统信息,(默认情况下)每三秒更新一次。Top 允许使用秒的小数,但非常小的值会给系统带来很大的负载。它也是交互式的,可以修改要显示的数据列和排序的列。

下图 1 显示了 top 程序的示例输出。top 的输出分为两个部分,分别称为“摘要”部分(输出的顶部部分)和“进程”部分(输出的下部部分);为了保持一致性,我将在 top、atop、htop 和 glances 中使用此术语。

top 程序有许多有用的交互式命令,您可以使用这些命令来管理数据显示和操作单个进程。使用 h 命令查看各种交互式命令的简短帮助页面。务必按两次 h 以查看帮助的两个页面。使用 q 命令退出。

摘要部分

top 输出的摘要部分是系统状态的概述。第一行显示系统正常运行时间和 1 分钟、5 分钟和 15 分钟的负载平均值。在下面的示例中,负载平均值分别为 4.04、4.17 和 4.06。

第二行显示当前活动的进程数以及每个进程的状态。

接下来显示包含 CPU 统计信息的行。可以有一行组合系统中存在的所有 CPU 的统计信息,如下面的示例所示,或者每个 CPU 一行;在本例中,用于该示例的计算机是单个四核 CPU。按 1 键可在 CPU 使用率的合并显示和单个 CPU 的显示之间切换。这些行中的数据以可用 CPU 总时间的百分比形式显示。

下面描述了这些字段和其他 CPU 数据字段。

  • us:用户空间 – 在用户空间(即不在内核中)中运行的应用程序和其他程序。
  • sy:系统调用 – 内核级函数。这不包括内核本身占用的 CPU 时间,仅包括内核系统调用。
  • ni:nice – 以正 nice 级别运行的进程。
  • id:空闲 – 空闲时间,即任何正在运行的进程未使用的时间。
  • wa:等待 – 花费在等待 I/O 发生时的 CPU 周期。这是浪费的 CPU 时间。
  • hi:硬件中断 – 花费在处理硬件中断时的 CPU 周期。
  • si:软件中断 – 花费在处理软件创建的中断(例如系统调用)时的 CPU 周期。
  • st:窃取时间 – 虚拟 CPU 在等待真实 CPU 时,而虚拟机监控程序正在为另一个虚拟处理器提供服务时,CPU 周期的百分比。

摘要部分中的最后两行是内存使用情况。它们显示物理内存使用情况,包括 RAM 和交换空间。

Figure 1: The top command showing a fully utilized 4-core CPU.

图 1:top 命令显示完全利用的 4 核 CPU。

您可以使用 1 命令将 CPU 统计信息显示为单个全局数字(如上面的图 1 所示),或者按单个 CPU 显示。l 命令打开和关闭负载平均值。tm 命令分别在摘要部分的进程/CPU 行和内存行之间循环切换,包括关闭、仅文本和几种类型的条形图格式。

进程部分

top 输出的进程部分是系统中正在运行的进程的列表——至少对于终端显示器上有空间的进程数而言是这样。下面描述了 top 显示的默认列。可以使用单个按键添加其他几列。有关详细信息,请参阅 top 手册页。

  • PID – 进程 ID。
  • USER – 进程所有者的用户名。
  • PR – 进程的优先级。
  • NI – 进程的 nice 值。
  • VIRT – 分配给进程的虚拟内存总量。
  • RES – 进程消耗的非交换物理内存的驻留大小(以 kb 为单位,除非另有说明)。
  • SHR – 进程使用的共享内存量(以 kb 为单位)。
  • S – 进程的状态。可以是 R(正在运行)、S(正在休眠)和 Z(僵尸)。不太常见的状态可以是 T(已跟踪或已停止)和 D(不可中断的休眠)。
  • %CPU – 此进程在上次测量的时间段内使用的 CPU 周期或时间的百分比。
  • %MEM – 进程使用的物理系统内存的百分比。
  • TIME+ – 自进程启动以来,进程消耗的总 CPU 时间(精确到百分之一秒)。
  • COMMAND – 这是用于启动进程的命令。

使用 Page UpPage Down 键滚动浏览正在运行的进程列表。ds 命令可以互换使用,可用于设置更新之间的延迟间隔。默认值为三秒,但我更喜欢一秒间隔。间隔粒度可以低至十分之一秒 (0.1),但这将消耗更多您尝试测量的 CPU 周期。

您可以使用 <> 键将排序的列向左或向右排序。

k 命令用于杀死进程,r 命令用于重新调整其 nice 值。您必须知道要杀死或重新调整 nice 值的进程的进程 ID (PID),该信息显示在 top 显示的进程部分中。杀死进程时,top 首先询问 PID,然后询问用于杀死进程的信号编号。键入它们并在每个之后按 Enter 键。从信号 15、SIGTERM 开始,如果这不能杀死进程,则使用 9、SIGKILL。

配置

如果您更改了 top 显示,可以使用 W(大写)命令将更改写入配置文件 ~/.toprc(在您的主目录中)。


atop

我也喜欢 atop。当您需要更多关于 I/O 活动类型的信息时,这是一个出色的监视器。默认刷新间隔为 10 秒,但可以使用间隔 i 命令将其更改为您尝试执行的操作所需的任何值。atop 无法像 top 那样以亚秒级间隔刷新。

使用 h 命令显示帮助。务必注意有多个帮助页面,您可以使用空格键向下滚动以查看其余部分。

atop 的一个不错的特性是它可以将原始性能数据保存到文件中,然后在以后播放以进行仔细检查。这对于追踪间歇性问题非常方便,尤其是在您无法直接监控系统期间发生的问题。atopsar 程序用于播放保存文件中的数据。

Figure 2: The atop system monitor provides information about disk and network activity in addition to CPU and process data..

图 2:atop 系统监视器除了 CPU 和进程数据外,还提供有关磁盘和网络活动的信息。

摘要部分

atop 包含与 top 大致相同的信息,但也显示有关网络、原始磁盘和逻辑卷活动的信息。上面的图 2 显示了显示顶部列中的这些附加数据。请注意,如果您的水平屏幕空间足够宽,则将显示其他列。相反,如果您的水平宽度较小,则显示的列数较少。我也喜欢 atop 显示当前 CPU 频率和缩放因子——我在这些监视器中的任何其他监视器上都没有看到过——在图 2 中最右边两列的第二行。

进程部分

atop 进程显示包括与 top 相同的某些列,但它还包括每个进程的磁盘 I/O 信息和线程计数,以及每个进程的虚拟和实际内存增长统计信息。与摘要部分一样,如果有足够的水平屏幕空间,将显示其他列。例如,在图 2 中,显示了进程所有者的 RUID(实际用户 ID)。展开显示还将显示 EUID(有效用户 ID),这在程序以 SUID(设置用户 ID)运行时可能很重要。

atop 还可以提供有关每个进程的磁盘、内存、网络和计划信息的详细信息。只需分别按 dmns 键即可查看该数据。g 键将显示返回到通用进程显示。

可以使用 C 按 CPU 使用率排序、M 按内存使用率排序、D 按磁盘使用率排序、N 按网络使用率排序和 A 进行自动排序,轻松完成排序。自动排序通常按最繁忙的资源对进程进行排序。只有在安装并加载 netatop 内核模块后,才能对网络使用率进行排序。

您可以使用 k 键杀死进程,但没有重新调整进程 nice 值的选项。

默认情况下,在给定的时间间隔内没有活动的网络和磁盘设备不会显示。这可能会导致对主机硬件配置的错误假设。f 命令可用于强制 atop 显示空闲资源。

配置

atop 手册页引用了全局和用户级别的配置文件,但在我自己的 Fedora 或 CentOS 安装中找不到任何配置文件。也没有命令来保存修改后的配置,并且程序终止时不会自动保存。因此,似乎没有办法使配置更改永久生效。


htop

htop 程序很像 top,但功能更强大。它看起来很像 top,但它也提供了一些 top 不具备的功能。但是,与 atop 不同,它不提供任何类型的磁盘、网络或 I/O 信息。



Figure 3: htop has nice bar charts to to indicate resource usage and it can show the process tree.

图 3:htop 具有漂亮的条形图来指示资源使用情况,并且可以显示进程树。

摘要部分

htop 的摘要部分以两列显示。它非常灵活,可以使用几种不同类型的信息以几乎任何您喜欢的顺序进行配置。虽然 top 和 atop 的 CPU 使用率部分可以在组合显示和显示每个 CPU 的条形图之间切换,但 htop 不能。因此,它具有许多不同的 CPU 显示选项,包括单个组合条、每个 CPU 的条以及可以将特定 CPU 分组到单个条中的各种组合。

我认为这是一个比其他一些系统监视器更简洁的摘要显示,并且更容易阅读。此摘要部分的缺点是 htop 中缺少其他监视器中可用的一些信息,例如按用户、空闲和系统时间划分的 CPU 百分比。

F2(设置)键用于配置 htop 的摘要部分。显示可用数据显示的列表,您可以使用功能键将它们添加到左列或右列,并在所选列中上下移动它们。

进程部分

htop 的进程部分与 top 的非常相似。与其他监视器一样,进程可以按多个因素排序,包括 CPU 或内存使用率、用户或 PID。请注意,选择树视图时无法排序。

F6 键允许您选择排序的列;它显示可用于排序的列列表,您可以选择所需的列并按 Enter 键。

您可以使用向上和向下箭头键选择一个进程。要杀死进程,请使用向上和向下箭头键选择目标进程,然后按 k 键。将显示要发送给进程的信号列表,并选择 15、SIGTERM。您可以指定要使用的信号(如果与 SIGTERM 不同)。您也可以使用 F7F8 键重新调整所选进程的 nice 值。

我特别喜欢的一个命令是 F5,它以树状格式显示正在运行的进程,从而可以轻松确定正在运行的进程的父/子关系。

配置

每个用户都有自己的配置文件 ~/.config/htop/htoprc,并且对 htop 配置的更改会自动存储在那里。htop 没有全局配置文件。


glances

我最近才了解到 glances,它可以显示比我目前熟悉的任何其他监视器更多的关于您的计算机的信息。这包括磁盘和网络 I/O、可以显示 CPU 和其他硬件温度以及风扇转速的热读数,以及按硬件设备和逻辑卷划分的磁盘使用情况。

拥有所有这些信息的缺点是 glances 本身会使用大量的 CPU 资源。在我的系统上,我发现它可能会占用大约 10% 到 18% 的 CPU 周期。这很多,因此您在选择监视器时应考虑这种影响。

摘要部分

glances 的摘要部分包含与其他监视器的摘要部分大致相同的信息。如果您有足够的水平屏幕空间,它可以同时显示 CPU 使用率的条形图和数字指示器,否则它将仅显示数字。

 

Figure 4: The glances interface with network, disk, filesystem, and sensor information.

图 4:glances 界面,包含网络、磁盘、文件系统和传感器信息。

我更喜欢此摘要部分而不是其他监视器的摘要部分;我认为它以易于理解的格式提供了正确的信息。与 atop 和 htop 一样,您可以按 1 键在显示单个 CPU 核心或将所有 CPU 核心作为单个平均值的全局显示之间切换,如上面的图 4 所示。

进程部分

进程部分显示有关每个正在运行的进程的标准信息。进程可以自动 a 排序,或按 CPU c、内存 m、名称 p、用户 u、I/O 速率 i 或时间 t 排序。自动排序时,进程首先按使用最多的资源排序。

Glances 还在屏幕底部显示警告和严重警报,包括事件的时间和持续时间。当您尝试诊断问题但无法长时间盯着屏幕时,这可能很有帮助。可以使用 l 命令打开或关闭这些警报日志,可以使用 w 命令清除警告,而可以使用 x 清除所有警报和警告。

有趣的是,glances 是这些监视器中唯一一个不能用于杀死或重新调整进程 nice 值的监视器。它仅用作监视器。您可以使用外部 killrenice 命令来操作进程。

侧边栏

Glances 有一个非常好的侧边栏,可以显示 top 或 htop 中不可用的信息。Atop 确实显示了其中一些数据,但 glances 是唯一显示传感器数据的监视器。有时,查看计算机内部的温度会很好。可以使用 dfns 命令分别打开和关闭各个模块(磁盘、文件系统、网络和传感器)。可以使用 2 打开和关闭整个侧边栏。

Docker 统计信息可以使用 D 显示。

配置

Glances 不需要配置文件即可正常工作。如果您选择拥有配置文件,则系统范围的配置文件实例将位于 /etc/glances/glances.conf 中。个人用户可以在 ~/.config/glances/glances.conf 中拥有本地实例,这将覆盖全局配置。这些配置文件的主要目的是设置警告和严重警报的阈值。我找不到任何方法来使其他配置更改(例如侧边栏模块或 CPU 显示)永久生效。似乎每次启动 glances 时都必须重新配置这些项目。

有一个文档 /usr/share/doc/glances/glances-doc.html 提供了大量关于使用 glances 的信息,并且明确指出您可以使用配置文件来配置要显示的模块。但是,给出的信息和示例都没有描述如何做到这一点。


结论

请务必阅读每个监视器的手册页,因为其中包含大量关于配置和与它们交互的信息。另请使用交互模式下的 h 键获取帮助。此帮助可以为您提供有关选择和排序数据列、设置更新间隔等信息。

当您寻找问题的原因时,这些程序可以告诉您很多信息。它们可以告诉您进程(以及哪个进程)正在占用 CPU 时间、是否有足够的可用内存、进程是否在等待 I/O(例如磁盘或网络访问完成)时停顿等等。

我强烈建议您花时间观察这些监视程序在正常运行的系统上运行时的情况,这样您就可以区分那些在您寻找问题原因时可能异常的事物。

您还应该意识到,使用这些监视工具的行为会改变系统对资源(包括内存和 CPU 时间)的使用。top 和大多数这些监视器可能占用系统 CPU 时间的 2% 或 3%。glances 比其他监视器的影响更大,并且可能占用 CPU 时间的 10% 到 20%。在选择工具时,请务必考虑这一点。

我最初打算将 SAR(系统活动报告器)包含在这篇文章中,但随着这篇文章变得越来越长,我也清楚地意识到 SAR 与这些监视工具明显不同,应该单独撰写一篇文章。因此,考虑到这一点,我计划撰写一篇关于 SAR 和 /proc 文件系统的文章,以及第三篇关于如何使用所有这些工具来定位和解决问题的文章。

标签
David Both
David Both 是开源软件和 GNU/Linux 的倡导者、培训师、作家和演讲者。自 1996 年以来,他一直从事 Linux 和开源软件方面的工作,自 1969 年以来一直从事计算机方面的工作。他是“系统管理员的 Linux 哲学”的坚定支持者和传播者。

20 条评论

大卫,文章写得真棒。我已经和我的同事分享了。`atop` 的记录和重放能力太棒了,我预计将来会经常使用它。

`iotop` 是一个用于查找 I/O 负载问题的很棒的工具。当我专门查找网络性能时,我发现自己经常使用的另一个工具是 `iftop`。我怀疑可能还有一篇或三篇关于网络性能诊断的长篇文章。

我很期待关于 sar 的文章。我经常使用它,但只是零零散散地使用,所以我迫不及待想看看我错过了什么。

大卫,文章写得真棒。我从您较早的文章中了解了 Glances。很高兴更多地了解“top”,您在那里给了我一些新的信息需要考虑。感谢您,我现在已经安装了“htop”,我以前从未听说过它。这里有大量的宝贵信息。感谢分享。

最好也告诉我们,在哪里可以找到这三个额外的工具以及如何安装它们。

我不了解其他发行版,但它们都在 Fedora 23 的默认仓库中,因此以下命令应该可以获取所有三个工具。

$ sudo dnf install atop glances htop

回复 作者:Stephan T. (未验证)

您试过 nmon 吗?它提供了大量信息,如果您将其重定向到一个文件,则有一个出色的 Excel 电子表格,可让您导入和绘制结果等。

在您评论之前我没有,但现在我已经试过了。我刚刚安装了它,并打算花一些时间来了解它。感谢您让我们大家了解它。

回复 作者:Rob Arseneault (未验证)

拜托,伙计!!难道不是每个人都用 "noexec" 选项挂载 /tmp 吗?!

大卫,您看过开源的 sysdig 吗?可以将 sysdig 视为 strace + tcpdump + htop + iftop + lsof 的结合体。www.sysdig.org

没有,我没有。事实上,在看到您的帖子之前,我甚至没有听说过它。但我肯定会尝试一下。感谢您提及它。

回复 作者:Apurva (未验证)

>>它是一个数字,表示等待 CPU 时间的平均指令数。

如果我有 4 个 CPU 并且只有 4 个进程在运行,那岂不是意味着我没有指令在等待?而不是文章列出的 4 个。我试图更好地理解这部分,因为等待和“要执行”之间存在差异。我认为,如果所有 CPU 都赶上进度,或者具有比请求更多的 CPU 能力,那么等待的进程将少于 1 个。

像 top、htop、atop、iotop、iftop 和 lsof 这样的工具我经常使用。感谢您,大卫,在您的文章中介绍了 Glances。

监控的另一个维度是查看您的系统 - 查看它们的功能,以及它们提供的服务是否正常工作,以及它们是否按照最佳实践进行配置。如果您对数据中心级别的这种维度视图感兴趣,那么您应该查看 Assimilation 系统管理套件 http://AssimilationSystems.com/

好文章!

我尝试用 netdata 可视化许多系统和应用程序指标。演示:http://netdata.firehol.org/

看看它。它很好(警告:我写的,所以我可能有偏见:)。

团队:

只有我这么认为吗,top 和其他工具不是监控工具,而是当前系统状态检查工具?

对于监控,我希望有一些历史记录,我可以将其与 top 显示的今天的统计数据进行比较 :)

我的下一篇文章将讨论 SAR(系统活动报告器),它提供了 30 天的系统活动历史记录,您可以将其用于比较目的。此外,正如我在文章中提到的,atop 可以保存原始数据并在以后播放以进行比较。

回复 作者:Ruslanas Gžibovskis (未验证)

嗨!

澄清一下:htop 确实显示 I/O 信息。只是它不在默认的列集中,但你可以通过进入设置 [F2] 屏幕来启用各种按进程 I/O 信息字段。

Htop 在 F2 设置中确实有 I/O 选项... 但这些不准确性令我担忧。

对于“一个”系统,或者如果你只有少数 Linux 系统,这些都是很棒的工具。如果需要监控 100、200、500、1000 甚至更多 Linux 系统,而登录每个系统或对它们全部运行远程命令是不切实际的,那么最好能有一个关于监控 Linux 的总结。我知道 Nagios 及其更好的分支 Icinga,但您或其他人在使用方面是否有其他开源替代方案的经验?

nmon 怎么样?

非常有信息量的文章。

阅读这篇文章让我获得了关于监控 Linux 系统的额外专业知识。我只知道 top,现在我知道了另外 3 个很棒的工具。

谢谢..

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.