高级 Linux 服务器监控指南

几乎每家公司都将 Linux 服务器作为其 IT 基础架构的一部分,这并不奇怪。Linux 注重安全性、一致性和灵活性,它就是天选的服务器操作系统。可供选择的发行版非常多,而且还在不断增加。

IT 管理员通常使用 Red Hat Enterprise Linux (RHEL)、CentOS、Fedora、openSUSE、Suse Linux Enterprise Server (SLES)、Debian 或 Ubuntu 等操作系统来架设 Linux 服务器。根据使用情况,其他系统也可用于设置 Linux 服务器。

随时随地监控 Linux 服务器

与 Linux 发行版一样,许多免费的开源 Linux 服务器监控工具也可供使用。不过,在某些情况下,还是应该改用专业的解决方案。

Checkmk 为 Linux 服务器监控提供了多个版本。Checkmk Raw完全开源。

Checkmk Enterprise或 Checkmk Cloud 还提供专门适用于企业环境的附加功能。虽然建议 Linux 服务器使用监控代理,但 Checkmk 也通过 SNMP(简单网络管理协议)或 IPMI(智能平台管理接口)提供无代理监控。

老实说,我找不到更好的监控大量服务器的监控解决方案了。它的扩展能力超强,通知是可定制的,而且还集成了我们使用的所有工具——Slack、Pagerduty、Mail......

——在线工程师 彼得 P.

Checkmk 代理支持所有 Linux 发行版。无论您是在云中设置服务器、通过虚拟化实现服务器,还是使用专用的内部硬件,都可以使用Checkmk。

服务器监控的重要性

公司必须对其 Linux 服务器实施系统监控。这意味着要以固定的时间间隔检查状态、指标、日志、事件和网络统计数据。

许多发行版都包含“top”等函数,可通过控制台使用。但实际上,命令行并不适合用于监控服务器概况,因为给 IT 管理员的工作量会太大。

因此,许多基础设施监控工具应运而生,使监控更加高效。

选择工具最重要的标准是能否高效监控任何服务器。需要手动变通或查询个别异常情况的都不是理想的解决方案。

日常业务中的 Linux 监控
Linux 无处不在!

Linux 正在成为 IT 的日常组成部分,不再仅为开发人员和 IT 管理人员所用。因此,监控解决方案也应该让那些非软件监控解决方案领域的专家能够上手使用。

Checkmk: 可扩展且灵活

Checkmk 易于安装,其管理完全通过图形用户界面(GUI)进行。您可以使用集成的图形、仪表盘和报告引擎,并根据专业人员和 IT 专家的需求定制指标和分析。

此外,Checkmk也支持与 Grafana 等外部工具进行集成。

监控工具需要持续开发。经过多年的发展,Checkmk 已经迭代为一个成熟的、具有广泛性的一体化平台,但仍保留了其经典的 Linux 特性:良好的文档、精简和安全的架构、扩展选项和稳定的性能。

与此同时,它还高度重视用户友好性。

Checkmk 的演变

从历史上看,Checkmk始于Nagios 派生(fork),但多年来一直是一个完全独立的产品。Checkmk Raw 仍使用 Nagios Core进行监控。
商业版使用的是 Checkmk Micro Core,因而是一个完全独立开发的版本。不过,所有 Nagios 插件也可集成到 Checkmk 中。

监控的实施和成本效益
易于设置

通常我们将Checkmk 实例设置为 Linux 服务器,几分钟内即可启动。目前可在 SLES、RHEL、CentOS、Debian 和 Ubuntu 上部署。

下载相应的软件包后,即可立即启动。无需配置数据库或其他步骤。

Checkmk 还提供 Docker 容器和设备,因此即使没有 Linux 系统也能使用 Checkmk。

自动警报

Checkmk为监控提供阈值,还提供了各种功能帮助实现系统的自动集成。这意味着IT部门的工作量将会减少。

Checkmk 还适用于监控分布式环境,并可随时扩展。
目前已有 2,000 多个 Checkmk 插件。

我们将提供全面的手册和视频教程,以帮助您开始使用。此外,任何人都可以在 Checkmk 社区论坛上分享反馈或提问。

制作自己的插件

Checkmk 还提供 Exchange,用户可在此分享、审查和评价自己编写的扩展程序。

Linux 服务器的迁移

我们对 IT 基础设施的要求在不断变化,故而确实需要定期评估自己的服务器系统。因此,迁移到 Linux 或其他发行版/平台(如云或虚拟化服务器)几乎是日常生活的一部分。

但是,这不能影响监控,造成我们不希望看到的后果。无论您使用的是 Red Hat Enterprise Linux (RHEL)、CentOS、Fedora、Debian、OpenSUSE、SUSE Linux Enterprise Server (SLES) 还是其他 Linux 环境,有了 Checkmk,您就可以在屏幕上看到一切。

安装Checkmk 后只需几分钟,你就可以全面了解你的系统和应用,并获得深度的洞察。

——调研总监 马里尤斯P.
多平台支持

Checkmk 提供的Linux服务器监控全面支持使用Windows、MacOS、Linux服务器和其他系统的异构服务器体系。

如将服务器从园区迁移到云端或用虚拟机替换裸机服务器,监控软件中也会有所体现。

可交互操作

Checkmk 可与所有常见虚拟化解决方案集成,因此不仅可监控虚拟服务器,还可监控其平台(如 VMWare ESXi 或 Microsoft Hyper-V)。

代理也不是监控的必要条件。Checkmk 支持与几乎所有常见协议(如 SNMP)、API 和接口(如 IPMI)的集成,而绝不仅限于代理。

Linux 服务器很强大,但仅靠操作系统并不能防止问题或配置错误。当然,你应该遵循服务器监控的最佳实践。

经验还表明,Linux 本身的内置机制可帮助提升服务器性能。在监控服务器时应考虑到这一点。例如,RAM 和与监控相关的SWAP 之间就有关联。在默认情况下,你通常只会查看RAM。

内存管理并不遵循溢出原则。不过,Linux 足够智能,会考虑到应用程序进程的大小,因此会在 RAM 满之前将进程推入 SWAP。因此,提示内存(将)已满的警示是不符合实际的。

Linux 服务器清单

服务器基础设施现已成为应用程序和服务交付链条中的一环。因此,在专业的 Linux 服务器监控中,必须能够识别超出系统监控范围的因果关系。

能够检查组件和软件的功能也很重要。例如,相应清单可以让您识别所有已安装的组件和软件。通过这种方式可以识别已更改或已损坏的组件。

例如,分区上的硬件缺陷只有在查看其长期指标时才会显现出来。

多亏了 Checkmk,我们才能精确了解系统的生命周期和使用情况。当需要就这些系统的创业导向(entrepreneurial orientation)做决定时,这个功能为我们提供了强大的帮助。

——首席执行官兼创始人 马里尤斯P.

另一方面,Linux 系统的硬盘空间似乎很大。但在尝试写入时,数据却会丢失。

处理许可证管理系统相关的信息很容易。 例如,这可以使您为审计做好准备。

您可以将Checkmk HW/SW Inventory集成到配置管理数据库(CMDB)中,从而始终掌握IT系统的最新概况。

监控企业使用场景中的 Linux 服务器

如果没有正确的工具,在广泛的IT环境中监控Linux服务器是非常复杂的,而且还会以额外硬件的形式消耗大量资源。

Checkmk:Linux 服务器监控利器

作为监控软件,Checkmk可提供众多功能,使企业获从长远角度受益。Checkmk 自己的 Micro Core 降低了硬件要求,因此可通过单个控制面板监控 100,000 台或更多主机。

利用分布式监控功能,您可以通过一个中央 Checkmk 实例管理不同地点。因此,即使您有一个广泛的Linux环境,Checkmk也能执行全面的服务器监控。

您还可以使用Checkmk的代理构建库轻松管理代理。

只需在服务器上安装一次,即可使用Checkmk对代理进行调整和更新。通过特定设置创建的代理可打包为 RPM 或 DEB 并分发。

支持和培训

可根据要求提供各种支持级别和培训课程。Checkmk 论坛也对所有用户开放。

此外,通过 Checkmk Exchange,我们还为您提供了一个共享自己的软件包和扩展的平台。

开发人员聚会

当然,还有各种活动和聚会。我们每年都会邀请您参加 Checkmk 会议,这是全球最大的 Checkmk 用户会议。

Checkmk 可以满足一切监控服务器环境的需求。它运行非常稳定,到目前为止我们还没有遇到任何实际困难。

——产品负责人 托马斯 M.
Linux 服务器监控常见问题

如何监控 Linux 服务器?
有许多软件工具可供团队监控运行 Linux 或其他操作系统的服务器。监控Linux 服务器对于检查当前和历史资源利用率(如 CPU 利用率、内存、硬盘存储和网络统计)至关重要。

工具可生成并分析详细的报告,使您深入了解服务器的性能。此外,工具还支持自动生成提示关键事件的警报。

什么是 Linux 监控流程? Linux 是一种支持多任务的多用户系统。在 Linux 中,运行程序的单个实例称为进程。Linux 允许多个进程同时运行或执行。

进程状态实用程序是一种 Linux 实用程序,可用于查看正在运行的进程的状态。进程状态实用程序可用于查看进程 ID 或 PID、进程运行的时间、用于启动进程的命令名称、用户使用的终端类型以及其他类别的信息。

Checkmk 可在 Red Hat Enterprise Linux (RHEL)、CentOS、Fedora、openSUSE、Suse Linux Enterprise Server (SLES)、Debian 或 Ubuntu 上运行。可以在其他发行版上运行吗?
可以,Checkmk 可作为 Docker 容器和设备使用,因此您也可以在其他操作系统上使用 Checkmk。

该设备可虚拟部署,也可作为物理硬件部署,这只针对Checkmk 服务器本身适用。实际可监控各种类型的服务器、网络设备、存储设备等。

我在带有多个 Docker 容器的服务器上使用 Linux。但是,这些容器只是暂时处于活动状态,我担心监控中会出现太多警报。我是否应该将这台服务器从监控中移除?
绝对不要这样做。服务器上运行的容器和虚拟机越多,服务器就必须越强大、越稳定。因此,您应该监控服务器和容器。

Checkmk 可以每秒执行一次检查并识别容器,即使它们只存在很短的时间。检测、记录和删除都是自动完成的。

Checkmk 通过单一平台监控服务器和容器。这有助于在出现问题时识别和消除可能的关系(relations)。

使用 Checkmk 监控服务器有哪些硬件要求?
由于是 Linux 架构,且有许多可用代理,所以硬件要求相对较低。与不使用代理(例如仅通过 SNMP)进行监控相比,所需的硬件资源更少。

特别是对于 Linux 服务器,代理仅由一个 shell 脚本组成,因此占用空间特别小。

我需要为 Checkmk 托管服务器购买额外的操作系统许可证吗?
各种 Linux 发行版都适合安装 Checkmk,其中许多都不需要额外购买许可证,如 ClearOS Community 或 Ubuntu。

如果使用 RHEL 等商业 Linux 发行版,则需要制造商提供相应的许可证。