使用 Checkmk 监控您的 Linux 服务器基础设施
有关安装和配置用于监控服务器的免费开源 Checkmk Raw 版本的详细指南。
有大量工具可用于监控您的 IT 基础设施。这包括监控 Linux 服务器、容器、数据库、应用程序等。
BetterUptime 等服务很方便,我们用它来监控停机时间。
然而,为了更精细的控制,我更喜欢部署像 Prometheus 这样的工具和漂亮的 Grafana 仪表板。
最近,我遇到了一个项目,它可以在很短的时间内提供您的 IT 基础设施的完整视图。
Checkmk 用于监控 IT 基础设施
借助 Checkmk,您可以有效地利用强大的监控功能,不仅监视服务器,还监视网络、云、容器和应用程序。
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 密钥:
avimanyu@localhost:~$ 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 >" imported
gpg: Total number processed: 1
gpg: imported: 1
avimanyu@localhost:~$ gpg --armor --export 434DAC48C4503261 > Check_MK-pubkey.gpg
添加新获得的公钥:
avimanyu@localhost:~$ sudo apt-key add Check_MK-pubkey.gpg
OK
现在您可以验证刚刚下载的 Checkmk 包:
avimanyu@localhost:~$ 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 使用)尚未被其他服务使用。
avimanyu@localhost:~$ 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) 创建 Web UI。
在这里,我将新站点名称设置为 mysite
:
avimanyu@localhost:~$ 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 http://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 的有用说明。我建议将输出保存在单独的文档中以便妥善保管。
如果您可以物理访问服务器,则可以在 Web 浏览器中使用 localhost
,如下所示。
localhost/mysite
无论哪种情况,您都可以使用服务器的公共 IP 地址访问设置。例如,如果其 IP 地址是 1.2.3.4,则您的访问网址将为:
1.2.3.4/mysite
如果它有域名(例如 checkmk.domain.com),请使用:
checkmk.domain.com/mysite
接下来,您应该看到如下登录界面:
使用创建 mysite
后获得的凭据登录 Checkmk。您可能已经注意到,默认的管理员名称是 cmkadmin
。
安装 Checkmk 代理
为了能够添加主机(服务器),您现在必须通过软件包安装来安装 Checkmk 代理。可以通过以下步骤获取包下载 URL:
导航至设置并在代理下选择Linux > 子菜单:
找到 Debian 软件包(因为我使用的是 Ubuntu):
右键单击并复制浏览器上的 URL(在本例中为 Firefox):
复制 URL 后,使用 wget
将其下载到服务器上。假设IP为1.2.3.4
,则对应的命令为:
wget http://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 来监控您的服务器
根据下面分享的每个步骤开始添加主机服务器。
从设置 > 主机 > 主机开始。
选择“将主机添加到监控”(重复此步骤以添加更多服务器)。
输入主机名 localhost
并选择“保存并转到连接测试”(使用服务器的公共 IP 或域名作为远程服务器的主机名) 。
等待连接测试完成。
测试完成后,单击“服务发现”。
选择“修复全部”来诊断“未决定的服务”。
现在点击右上角带有感叹号的黄色圆圈的“3 个更改”。更改的数量可能因用户而异。
选择“在选定的网站上激活”。
等待激活完成。
激活完成后,您会注意到进度条中的“成功”最终会变成绿色:
在此阶段,我将注销并重新登录以再次确认我刚刚添加的服务器现在确实受到 Checkmk 的监控:
使用 Checkmk 监控您的服务器
再次成功登录后,您会注意到主仪表板上有一个绿色六边形显示您新添加的服务器:
现在,导航至监视器 > 系统 > Checkmk 仪表板:
请注意,它与添加主机后首次登录时看到的主仪表板不同。在此 Checkmk 仪表板上,您可以看到服务器的非常简短的监控概述。单击localhost
:
单击它后,您最终将看到服务器的通用监控页面,其中包含众所周知的指标,即:
CPU负载
已用内存
磁盘吞吐量
文件系统大小和已用空间
主要页面错误
平均磁盘延迟
网络
每次您希望监控服务器时,都必须以上述方式导航到此界面。但是,您也可以根据以下 URL 创建书签以快速打开它以进行常规访问:
http://localhost/mysite/check_mk/dashboard.py?host=localhost&name=checkmk_host&site=mysite
在上面的 URL 中,将 localhost
替换为您自己的服务器的 IP 或域。另外,将 mysite
替换为您设置的站点名称。
额外提示:特定指标监控
如果您想详细监控服务器特定指标,Checkmk 可以满足您的要求。例如,如果您想深入、单独地监控 CPU 负载或使用情况,请按照以下步骤操作:
导航至监控 > 概览 > 所有主机
单击localhost
:
现在单击“CPU 负载”或“CPU 利用率”。请注意,还有很多其他指标可供您单独监控。
在这里,我选择了“CPU负载”:
正如您所观察到的,Checkmk 上的这一详细指标允许根据各种基于时间的参数来监控 CPU 负载。
我确实希望您发现本指南很有用,并亲自尝试这个有前途的工具,无论是您的服务器还是桌面系统。如果您想添加任何反馈、想法或评论,请在下面的部分中添加。