我们公司大约有 30 到 40 台 Linux 虚拟机。每个 Linux 虚拟机可能有 3 个分区。
有时,某个分区会不知何故变满,导致一个或多个应用程序陷入停顿。
我知道,我们可以编写 cronjob 批处理脚本,每 30 分钟运行一次,当超过阈值时,您可以编写一封电子邮件。
但是,普通 Linux 中是否没有内置“监控或警报”基础设施?
答案1
有很多开源(和专有)监控工具旨在解决这个问题。它们依赖于 Linux 中的工具,进而依赖于内核中的系统调用。
有些工具专注于数据收集和监控,而其他工具则专注于警报,您选择哪种工具取决于您的主要需求。
最著名的警报和监控工具的例子是纳吉奥斯。其他工具,更专注于数据收集和绘图,内置一些警报功能仙人掌和穆宁。如果您有包含大量机器的大型集群,那么神经节可能是你最好的选择。
这些工具通常称为网络监控系统,并且维基百科有一个广泛的列表。
我建议您不要重新发明轮子并寻找/使用这样的工具。
根据您使用的 Linux 发行版,发行版存储库中已经提供了其中一个或多个工具,并且默认配置支持您所拥有的环境。
答案2
通过“内置于普通linux”我假设你正在谈论内核?
内核中没有这样的东西。此外,基本发行版没有开箱即用的东西。您有类似的默认工具du
可以帮助您使用 bash 轻松完成此操作。以下是一些链接:
既然你说你知道如何编写这样的脚本,我就不给你代码了。无论如何,大多数系统管理员可能更喜欢核心工具;他们了解它们,它们提供强大的力量,并且使用它们很简单。任何新的“监控”设施都需要您学习。