有人可以解释默认 munin 图的“用例”吗?

exh*_*uma 9 linux monitoring munin

安装 munin 时,它会激活一组默认插件(至少在 ubuntu 上)。或者,您可以简单地运行munin-node-configure以确定您的系统支持哪些插件。大多数这些插件绘制直接的数据。我的问题是无法解释的数据(也......也许对一些)的性质,但什么是你在这些图中寻找什么?

安装 munin 并查看精美图表很容易。但是拥有图表而无法“阅读”它们会使它们完全无用。

我将列出在我的系统上默认启用的标准插件。所以这将是一个很长的清单。为了完整起见,我还将列出我认为可以理解的插件,并简要说明我认为它的用途。如果我对其中任何一个有错误,请纠正。

所以让我把这个问题分成三个部分:

  • 我什至不理解数据的插件
  • 我了解数据但不知道应该注意什么的插件
  • 我认为可以理解的插件

我什至不理解数据的插件

这些可能包含不一定只针对穆宁的问题。不理解数据通常意味着在操作系统/硬件的基础知识方面存在差距.... ;) 请随意回答“giyf”。

这些是我只能猜测发生了什么的插件......我几乎不想看这些“猜测”......

  • 每个设备的磁盘 IO (IOs/秒)
    什么是 IO。我知道它代表输入/输出。但就目前而言。
  • 每个设备的磁盘延迟(平均 IO 等待)
    不知道“IO 等待”是什么......
  • IO 服务时间
    这是一个巨大的混乱,几乎不可能在图表中看到任何东西。

我了解数据但不知道应该注意什么的插件

  • IOStat(块/秒读/写)
    我想,这里要注意的是尖峰?这意味着该设备被大量使用?
  • 可用熵(字节)
    我认为这对随机数生成很重要吗?我为什么要画这个?到目前为止,该值一直接近恒定。
  • VMStat (running/I/O sleep processes)
    这个和“进程”图有什么区别?两者都显示运行/睡眠进程,而“进程”图似乎有更多细节。
  • 每个设备的磁盘吞吐量(字节/秒读/写)
    这和“IOStat”图有什么区别?
  • inode 表用法
    我应该在这个图中寻找什么?

我认为可以理解的插件

我会在这里猜测一些事情......如果我错了,请纠正我。

  • 磁盘使用百分比(百分比)
    已使用/剩余多少磁盘空间。由于接近 100%,您应该考虑清理或扩展分区。这对于根分区非常重要。
  • 防火墙吞吐量(数据包/秒)
    通过防火墙的数据包数量。如果这种情况持续较长时间,则可能是 DOS 攻击的迹象(或者我们只是收到了一个大文件)。它还可以让您了解防火墙性能。如果它趋于平稳并且您需要更多“功率”,则应考虑负载平衡。如果它趋于平稳并看到与 CPU 负载的相关性,则也可能意味着您的硬件速度不够快。与磁盘使用情况的相关性可能表明您的 FW 配置中有过多的 LOG 目标。
  • eth0 错误(数据包输入/输出)
    网络错误。如果此值增加,则可能是硬件故障的迹象。
  • eth0 流量(比特/秒输入/输出)
    原始网络流量。这应该与防火墙吞吐量相关。
  • 线程数
    不断增加的值可能表示进程没有正确关闭线程。调查!
  • 处理
    活动进程(包括睡眠)的击穿。这里的快速尖峰可能指向叉形炸弹。一个缓慢但不断增加的值可能指向应用程序生成子进程但没有正确关闭它们。调查使用ps faux
  • 进程优先级
    显示进程优先级的分布。只有高优先级进程没有多大用处。考虑降低一些优先级。
  • cpu 使用率
    相当简单。如果这是尖峰,则您可能正在进行攻击,或者某个进程正在占用 CPU。Idf 它在正常操作中缓慢增加并接近最大值,您应该考虑升级您的硬件(或负载平衡)。
  • 文件表用法
    主动打开的文件数。如果达到最大值,您可能会打开一个进程,但没有正确释放文件。
  • load average
    显示系统负载的汇总值。应该与 CPU 使用率相关。增加的价值可以来自多种来源。寻找与其他图表的相关性。
  • 内存使用情况 内存
    的图形表示。只要您有很多未使用的+缓存+缓冲区就可以了。
  • 换入/换出
    显示您的交换分区上的活动。这应该始终为 0。如果您看到有关此的活动,您应该为您的机器添加更多内存!

Jan*_*nen 11

每个设备的磁盘 IO(IO/秒)

对于传统硬盘,这是一个非常重要的数字。I/O 操作是对磁盘的读或写操作。根据磁盘速度及其使用模式,使用旋转主轴,您可以达到每秒数十到 200 次 IOPS。

这还不是全部:现代操作系统确实有 I/O 调度程序,它尝试将多个 I/O 请求合并为一个,从而使事情变得更快。RAID 控制器等也会执行一些智能 I/O 请求重新排序。

每个设备的磁盘延迟(平均 IO 等待)

从对单个磁盘执行 I/O 请求到实际从那里接收数据需要多长时间。如果它徘徊在几毫秒左右,你就可以了,如果它是几十毫秒,那么你开始看到你的磁盘子系统出汗,如果它超过数百毫秒,你就遇到了大麻烦,或者至少有一个非常非常缓慢的系统。

IO服务时间

您的磁盘子系统(可能包含大量磁盘)的整体性能如何。

IOStat(块/秒读/写)

每秒读/写多少磁盘块。寻找峰值和平均值。如果平均值开始接近磁盘子系统的最大吞吐量,则是时候计划性能升级了。实际上,在那之前就这样计划。

可用熵(字节)

某些应用程序确实希望获得“真实”的随机数据。内核从多个来源收集“真正的”随机性,例如键盘和鼠标活动、许多主板中发现的随机数生成器,甚至从视频/音乐文件(video-entropyd 和 audio-entropyd 可以做到这一点)。

如果您的系统用完了熵,那么需要该数据的应用程序会停止运行,直到它们获得数据为止。就个人而言,过去我曾在 Cyrus IMAP 守护程序及其 POP3 服务中看到过这种情况;它在每次登录之前生成一个很长的随机字符串,并且在非常快速消耗熵池的繁忙服务器上。

摆脱该问题的一种方法是将应用程序切换为仅使用半随机数据 (/dev/urandom),但这不再属于本主题。

VMStat(运行/I/O 睡眠进程)

以前没有想过这个,但我认为这会告诉您每个进程的 I/O 统计信息,或者主要是它们是否正在运行某些 I/O,以及该 I/O 是否阻塞 I/O 活动或不是。

每个设备的磁盘吞吐量(字节/秒读/写)

这纯粹是每秒读/写的字节数,通常这是比blocks更易于人类阅读的形式,后者可能会有所不同。块大小可能因使用的磁盘、使用的文件系统(及其设置)等而异。有时块大小可能是 512 字节,有时是 4096 字节,有时是其他内容。

inode 表使用

对于具有动态 inode(例如 XFS)的文件系统,什么都没有。对于具有静态 inode 映射(例如 ext3)的文件系统,一切都可以。如果您有静态 inode、庞大的文件系统以及大量目录和小文件的组合,您可能会遇到无法在该分区上创建更多文件的情况,即使理论上会有很多可用空间。没有免费的 inode == 不好。