使用 Checkmk 监控您的 Linux 服务器基础架构

有大量工具可用于监控您的 IT 基础架构。 这包括监控 Linux 服务器、容器、数据库、应用程序等。

服务如 更好的正常运行时间 很方便,我们用它来监控停机时间。

然而,为了更精细的控制,我更喜欢使用漂亮的 Grafana 仪表板部署 Prometheus 等工具。

最近,我遇到了一个项目,可以在很短的时间内全面了解您的 IT 基础架构。

Checkmk 用于监控 IT 基础设施

检查表,您可以有效地利用强大的监控功能,不仅关注服务器,还关注网络、云、容器和应用程序。

Checkmk 有两个主要版本。 托管企业版需要花钱,但它具有更多功能。

它还有一个免费的开源版本,称为 Checkmk Raw Edition (RE)。

我将展示如何部署和设置 Checkmk RE 来监控您的服务器。

设置 Checkmk RE 以管理 Linux 服务器

我将带您了解 Checkmk RE,并展示如何安装、配置和最终使用它。 我遵循了官方文档,老实说,与我探索过的早期工具相比,它的配置要复杂得多。

因此,我决定通过这篇文章专注于改善这种体验。

在开始之前,我想重申,像 Cockpit 一样,安装一个 Docker 版本的 Checkmk Raw Edition 不太推荐 在一般实践中。

在要监控的服务器上安装 Checkmk RE

您需要安装 Checkmk RE 和 Checkmk 代理才能监控您的服务器。 在这个审查的时候,我已经测试了 2.0.0p7 版本。

下载必要的包

对于本教程,我将首先在 Ubuntu 20.04 服务器上下载 Checkmk RE:

wget https://download.checkmk.com/checkmk/2.0.0p7/check-mk-raw-2.0.0p7_0.focal_amd64.deb

验证 Checkmk 包

安装 dpkg-sig 用于包验证。 还要确保 gpg 已安装。

sudo apt -y install dpkg-sig gpg

完成后,获取 gpg 密钥:

[email protected]:~$ gpg --keyserver keyserver.ubuntu.com --recv-keys 434DAC48C4503261
gpg: directory '/home/avimanyu/.gnupg' created
gpg: keybox '/home/avimanyu/.gnupg/pubring.kbx' created
gpg: /home/avimanyu/.gnupg/trustdb.gpg: trustdb created
gpg: key 434DAC48C4503261: public key "Check_MK Software Release Signing Key (2018) <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
[email protected]:~$ gpg --armor --export 434DAC48C4503261 > Check_MK-pubkey.gpg

添加新获取的公钥:

[email protected]:~$ sudo apt-key add Check_MK-pubkey.gpg
OK

现在您可以验证刚刚下载的 Checkmk 包:

[email protected]:~$ dpkg-sig --verify check-mk-raw-2.0.0p7_0.focal_amd64.deb
Processing check-mk-raw-2.0.0p7_0.focal_amd64.deb...
GOODSIG _gpgbuilder B1E7106575B723F00611C612434DAC48C4503261 1625600497

GOODSIG 表示验证成功。 所以现在让我们继续安装。

安装 Checkmk 原始版

您可以使用 apt 直接安装最近下载的包:

sudo apt -y install ~/check-mk-raw-2.0.0p7_0.focal_amd64.deb

只是为了确定,为了它,确保 apache2 服务处于活动状态并且该端口 80(由 Apache) 尚未被其他服务使用。

[email protected]:~$ systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-07-14 17:30:18 UTC; 6s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 46288 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 46309 (apache2)
      Tasks: 55 (limit: 4617)
     Memory: 7.1M
     CGroup: /system.slice/apache2.service
             ├─46309 /usr/sbin/apache2 -k start
             ├─46310 /usr/sbin/apache2 -k start
             └─46311 /usr/sbin/apache2 -k start

为首次访问创建初始 Web 用户界面 (UI)

在开始监控之前,您必须首先使用 开放监控分布 (OMD)。

在这里,我将新站点名称设置为 mysite

[email protected]:~$ sudo omd create mysite
Adding /opt/omd/sites/mysite/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Updating core configuration...
Generating configuration for core (type nagios)...Precompiling host checks...OK
OK
Restarting Apache...OK
Created new site mysite with version 2.0.0p7.cre.

  The site can be started with omd start mysite.
  The default web UI is available at https://localhost/mysite/

  The admin user for the web applications is cmkadmin with password: KgjKy6wpR
  For command line administration of the site, log in with 'omd su mysite'.
  After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'.

完成后,您将收到重要的访问凭据以及一些有用的说明,以开始使用您的新 UI。 我建议将输出保存在单独的文档中以便安全保存。

如果您可以物理访问服务器,则可以使用 localhost 在这样的网络浏览器中。

localhost/mysite

无论哪种情况,您都可以使用服务器的公共 IP 地址访问设置。 为了 example,如果其 IP 地址为 1.2.3.4,则您的访问 URL 为:

1.2.3.4/mysite

如果它有域名(比如 checkmk.domain.com),请使用:

checkmk.domain.com/mysite

之后,您应该会看到如下所示的登录界面:

使用创建后获得的凭据 mysite, 登录 Checkmk。 默认 admin 您可能已经注意到的名称是 cmkadmin.

安装 Checkmk 代理

为了能够添加主机(服务器),您现在必须通过软件包安装来安装 Checkmk 代理。 包下载地址可以通过以下步骤获取:

导航 设置 并选择 Linux 在下面 代理 子菜单:

从设置菜单导航到 Checkmk Agent Linux 页面设置菜单上的 Checkmk Agent for Linux

找到 Debian 软件包(因为我使用的是 Ubuntu):

Debian 软件包(Ubuntu 需要)在 Agent Linux 页面的 Packaged Agents 下列出并链接找到 Debian 软件包(Ubuntu 需要)

右键单击并复制浏览器上的 URL(Firefox 在这种情况下):

右键单击 Debian 软件包名称并选择“复制链接”以获取 Checkmk 代理下载 URL获取 Checkmk 代理的下载 URL

复制 URL 后,将其下载到服务器上 wget. 假设IP是 1.2.3.4,对应的命令是:

wget https://1.2.3.4/mysite/check_mk/agents/check-mk-agent_2.0.0p7-1_all.deb

下载完成后,安装代理包:

sudo apt -y install ~/check-mk-agent_2.0.0p7-1_all.deb

现在您已准备好添加服务器作为主机以监控 Checkmk 上的活动。

准备 Checkmk 以监控您的服务器

根据以下共享的每个步骤开始添加主机服务器。

开始于 设置 > 主机 > 主机.

设置 Checkmk 仪表板

选择 ”将主机添加到监控”(重复此步骤以添加更多服务器)。

Enter 主机名作为 localhost 并选择“Save & 去连接测试”(使用服务器的公共 IP 或域名作为远程服务器的主机名)。

等待连接测试完成。

测试完成后,点击“服务发现”。

选择 ”全部修复“诊断”未定服务”。

现在点击“3 变化”位于右上角,黄色圆圈带有感叹号。 更改的数量可能因用户而异。

选择 ”在选定的网站上激活”。

等待激活完成。

激活完成后,您会注意到进度条中的“Success”最终会变为绿色:

Checkmk激活成功状态Checkmk 激活状态页面

在这个阶段,我将注销并重新登录以重新确认我刚刚添加的服务器现在确实正在被 Checkmk 监控:

通过左下方用户菜单中的注销选项注销 Checkmk注销 Checkmk

使用 Checkmk 监控您的服务器

再次成功登录后,您会注意到一个绿色的六边形,在主仪表板上显示您新添加的服务器:

Checkmk 主仪表板显示添加的服务器已启动并正在运行Checkmk 主仪表板

现在,导航到 监视器 > 系统 > Checkmk 仪表板

从 Monitor > System 子菜单导航到 Checkmk 仪表板,以获得非常简短的服务器监控概述” loading=”lazy” width=”567″ height=”523″>导航到 Checkmk 仪表板</figure><p>请注意,它不同于 <strong>主仪表板</strong> 在添加主机后第一次登录时看到。 在这 <strong>Checkmk 仪表板</strong>,您可以看到非常简短的服务器监控概览。 点击 <code>localhost</code>:</p><div class=

单击它后,您最终将看到服务器的通用监控页面,其中包含众所周知的指标,即:

  • CPU 负载
  • 用过的内存
  • 磁盘吞吐量
  • 文件系统大小和已用空间
  • 主要页面错误
  • 平均磁盘延迟
  • 网络

每次您希望监控服务器时,都必须以上述方式导航到此界面。 但是,您也可以根据以下 URL 创建书签以快速打开它以进行常规访问:

https://localhost/mysite/check_mk/dashboard.py?host=localhost&name=checkmk_host&site=mysite

在上面的网址中,替换 localhost 使用您自己的服务器的 IP 或域。 另外,更换 mysite 使用您设置的站点名称。

额外提示:指标特定监控

如果您想以生动的细节监控特定于服务器的指标,Checkmk 可以满足您的需求。 为了 example,如果您想深入和单独地监控 CPU 负载或使用情况,请按照以下步骤操作:

导航 监视器 > 概述 > 所有主机

“所有主机”可以在“监控”菜单下的“概览”子菜单中访问导航到 Monitor > Overview 子菜单下的“All hosts”

点击 localhost

“所有主机”页面允许单独访问服务器指标并提供生动的详细信息“所有主机”页面

现在单击“CPU 负载”或“CPU 利用率”。 请注意,还有很多其他指标供您单独监控。

“主机服务”页面列出了可以单独详细监控的所有可访问服务器指标“主机服务”允许单独访问服务器指标并提供生动的细节

在这里,我选择了“CPU负载”:

Checkmk 上的 CPU 负载特定详细指标允许根据各种时间参数监控 CPU 状态。Checkmk 上的 CPU 负载特定详细指标

如您所见,Checkmk 上的这个详细指标允许基于各种基于时间的参数监控 CPU 负载。

我确实希望您发现本指南很有用,并自己尝试这个有前途的工具,无论是您的服务器还是您的桌面系统。 如果您想添加任何反馈、想法或评论,请在下面的部分中进行。