如何使用 Checkmk 监控 IT 基础设施

在本教程中,您将学习如何使用 Checkmk 监控 IT 基础设施。 Checkmk 是一个免费的开源 IT 基础设施监控工具,可替代 Nagios。 它提供对网络、服务器、云、容器和应用程序的强大监控。 快速地。 有效的。

这是一个很棒的工具。 在功能页面上阅读有关它的更多信息。

如何使用 Checkmk 监控 IT 基础设施

在 Ubuntu 20.04 服务器上安装 Checkmk

Checkmk 只能安装在 Linux 机器上。 在撰写本文时,它目前支持这些 Linux 发行版;

  • Red Hat Enterprise Linux (RHEL) 和 CentOS 7.x 版
  • 从版本 12 SP3 开始的 SUSE Linux Enterprise Server (SLES)
  • Debian 9.0 版本
  • Ubuntu 版本 16.04、18.04 和版本 20.04

在本教程中,我们将在 Ubuntu 20.04 服务器上安装 Checkmk。

下载合适的 Checkmk 包

有多种版本的 Checkmk 可供选择;

  • Checkmk 原始版 (CRE)
  • Checkmk 企业免费版 (CFE)
  • Checkmk 企业标准版 (CEE)
  • Checkmk 企业托管服务版 (CME)

在产品版本页面上阅读有关这些版本的更多信息。

在本教程中,我们将安装免费版,Checkmk 企业免费版 (CFE)。

因此,导航到下载页面;

  • 选择您偏好的产品版本
  • 选择发布版本
  • 选择您各自的 Linux 平台。
  • 选择操作系统版本。
  • 对于 CFE 版本,您需要输入您的电子邮件地址,然后才能下载安装程序。
  • 下载安装程序

您可以简单地获取下载链接并将其直接拉到您将安装 Checkmk 的服务器上;

wget https://download.checkmk.com/checkmk/2.0.0p12/check-mk-free-2.0.0p12_0.focal_amd64.deb

通过比较下载文件的 SHA256 哈希值和下载页面上的哈希值来验证下载的安装程序的完整性。

sha256sum check-mk-free-2.0.0p12_0.focal_amd64.deb
cf62edcaea7b0d24371ba1859aec11f7979e2550c2976fcc21060f2b86e39ebf  check-mk-free-2.0.0p12_0.focal_amd64.deb

获取上面计算出的哈希值,并与下载页面上的哈希值进行比较;

[ "cf62edcaea7b0d24371ba1859aec11f7979e2550c2976fcc21060f2b86e39ebf" = "cf62edcaea7b0d24371ba1859aec11f7979e2550c2976fcc21060f2b86e39ebf" ]
echo $?

如果退出状态为 0,则哈希值相同,因此文件的完整性很好。

在 Ubuntu 20.04 服务器上安装 Checkmk

在 Ubuntu 20.04 上运行系统更新并安装 Checkmk 包;

apt update
apt install ./check-mk-free-2.0.0p12_0.focal_amd64.deb

该命令将安装 Checkmk 和所有必需的软件包依赖项。

Reading package lists... Done Building dependency tree        Reading state information... Done Note, selecting 'check-mk-free-2.0.0p12' instead of './check-mk-free-2.0.0p12_0.focal_amd64.deb' The following additional packages will be installed:   apache2 apache2-bin apache2-data apache2-utils binutils binutils-common binutils-x86-64-linux-gnu debugedit dialog fontconfig fontconfig-config fonts-dejavu-core   fonts-liberation freeradius-common freeradius-config freeradius-utils graphviz lcab libann0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap   libavahi-client3 libavahi-common-data libavahi-common3 libbinutils libcairo2 libcdt5 libcgraph6 libctf-nobfd0 libctf0 libcups2 libdatrie1 libdbi-perl libdbi1 libdw1   libfontconfig1 libfreeradius3 libgd3 libgraphite2-3 libgsf-1-114 libgsf-1-common libgts-0.7-5 libgts-bin libgvc6 libgvpr2 libharfbuzz0b libice6 libjansson4 libjbig0   libjpeg-turbo8 libjpeg8 liblab-gamut1 liblcms2-2 libldb2 liblua5.2-0 libnspr4 libnss3 libopenjp2-7 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpathplan4   libpixman-1-0 libpoppler97 libpq5 librpm8 librpmbuild8 librpmio8 librpmsign8 libsm6 libsmbclient libtalloc2 libtevent0 libthai-data libthai0 libtiff5 libtirpc-common   libtirpc3 libwbclient0 libwebp6 libxaw7 libxcb-render0 libxcb-shm0 libxmu6 libxpm4 libxrender1 libxt6 make php-cgi php-cli php-common php-gd php-pear php-sqlite3   php-xml php7.4-cgi php7.4-cli php7.4-common php7.4-gd php7.4-json php7.4-opcache php7.4-readline php7.4-sqlite3 php7.4-xml poppler-data poppler-utils python3-crypto   python3-gpg python3-ldb python3-samba python3-talloc python3-tdb rpcbind rpm rpm-common rpm2cpio samba-common samba-common-bin samba-dsdb-modules samba-libs smbclient   ssl-cert traceroute unzip update-inetd x11-common xinetd Suggested packages:   apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser binutils-doc rpm-i18n gsfonts graphviz-doc cabextract cups-common libclone-perl libmldbm-perl   libnet-daemon-perl libsql-statement-perl libgd-tools liblcms2-utils make-doc ghostscript fonts-japanese-mincho | fonts-ipafont-mincho fonts-japanese-gothic   | fonts-ipafont-gothic fonts-arphic-ukai fonts-arphic-uming fonts-nanum alien python elfutils rpmlint rpm2html heimdal-clients python3-markdown python3-dnspython   cifs-utils openssl-blacklist zip The following NEW packages will be installed:   apache2 apache2-bin apache2-data apache2-utils binutils binutils-common binutils-x86-64-linux-gnu check-mk-free-2.0.0p12 debugedit dialog fontconfig fontconfig-config   fonts-dejavu-core fonts-liberation freeradius-common freeradius-config freeradius-utils graphviz lcab libann0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3   libaprutil1-ldap libavahi-client3 libavahi-common-data libavahi-common3 libbinutils libcairo2 libcdt5 libcgraph6 libctf-nobfd0 libctf0 libcups2 libdatrie1 libdbi-perl   libdbi1 libdw1 libfontconfig1 libfreeradius3 libgd3 libgraphite2-3 libgsf-1-114 libgsf-1-common libgts-0.7-5 libgts-bin libgvc6 libgvpr2 libharfbuzz0b libice6   libjansson4 libjbig0 libjpeg-turbo8 libjpeg8 liblab-gamut1 liblcms2-2 libldb2 liblua5.2-0 libnspr4 libnss3 libopenjp2-7 libpango-1.0-0 libpangocairo-1.0-0   libpangoft2-1.0-0 libpathplan4 libpixman-1-0 libpoppler97 libpq5 librpm8 librpmbuild8 librpmio8 librpmsign8 libsm6 libsmbclient libtalloc2 libtevent0 libthai-data   libthai0 libtiff5 libtirpc-common libtirpc3 libwbclient0 libwebp6 libxaw7 libxcb-render0 libxcb-shm0 libxmu6 libxpm4 libxrender1 libxt6 make php-cgi php-cli php-common   php-gd php-pear php-sqlite3 php-xml php7.4-cgi php7.4-cli php7.4-common php7.4-gd php7.4-json php7.4-opcache php7.4-readline php7.4-sqlite3 php7.4-xml poppler-data   poppler-utils python3-crypto python3-gpg python3-ldb python3-samba python3-talloc python3-tdb rpcbind rpm rpm-common rpm2cpio samba-common samba-common-bin   samba-dsdb-modules samba-libs smbclient ssl-cert traceroute unzip update-inetd x11-common xinetd 0 upgraded, 130 newly installed, 0 to remove and 127 not upgraded. Need to get 33.2 MB/209 MB of archives. After this operation, 920 MB of additional disk space will be used. Do you want to continue? [Y/n] y 

设置 Checkmk 网页用户界面

Checkmk 的安装提供了一个 Open Monitoring Distribution tool, omd,用于在 OMD 中创建和维护站点(监控实例)的管理界面。

创建 Checkmk 站点

要设置 Checkmk Web UI,您需要创建一个监控实例,该实例可以称为站点。

要创建站点,请使用 omd 命令,该命令采用以下语法;

omd create [OPTIONS] NAME-of-SITE
  • 您需要 root 权限才能创建新站点。
  • 站点名称最多为 16 个字符,并且只能由字母、数字和下划线组成。 它不能以数字开头。
  • OMD 使用站点名称创建操作系统用户和组。 在创建站点之前,不得存在具有该名称的用户或组。
  • 然后将创建目录 /omd/sites/NAME-of-SITE 并将其用作新用户的主目录。
  • 主目录将填充配置文件和子目录。
  • 将为新实例创建基本配置。

比如创建一个名为kifarunix的监控实例;

omd create kifarunix

您可以将命令行选项传递给命令,请参阅 man omd.

示例站点创建命令输出;

Adding /opt/omd/sites/kifarunix/tmp to /etc/fstab. Creating temporary filesystem /omd/sites/kifarunix/tmp...OK Updating core configuration... Generating configuration for core (type cmc)...Creating helper config...OK OK Executing post-create script "01_create-sample-config.py"...OK Created new site kifarunix with version 2.0.0p12.cfe.    The site can be started with omd start kifarunix.   The default web UI is available at https://ubuntu20/kifarunix/    The admin user for the web applications is cmkadmin with password: kFYhb3jT   For command line administration of the site, log in with 'omd su kifarunix'.   After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'. 
  • 该命令创建一个站点 URL,https://ubuntu20/kifarunix/
  • Web 应用程序的管理员用户 cmkadmin 及其密码是默认创建的。

启动 Checkmk 站点

创建站点后,您可以使用以下命令启动它, omd start.

omd start
Doing 'start' on site kifarunix: Temporary filesystem already mounted Starting mkeventd...OK Starting liveproxyd...OK Starting mknotifyd...OK Starting rrdcached...OK Starting cmc...OK Starting apache...OK Starting dcd...OK Starting redis...OK Initializing Crontab...OK 

访问 Checkmk Web 用户界面

当您为监控服务器创建站点时,这些命令会提供用于访问该站点的 URL,例如, https://ubuntu20/kifarunix/.

在我的设置中,我将只替换主机名, Ubuntu20,使用我的服务器 IP 地址, 192.168.59.23 这样我的网址是 https://192.168.59.23/kifarunix/.

确保 Apache Web 服务器已启动并正在运行;

systemctl status apache2

如果它没有运行,则启动并使其在系统引导时运行,如下所示;

systemctl enable --now apache2

如果防火墙已启用并正在运行,则在防火墙上打开 Web 服务器端口。

ufw allow "Apache Full"

然后使用适当的 URL 从浏览器访问 Checkmk Web 界面。

使用运行时提供的凭据登录 omd create 命令。

  The admin user for the web applications is cmkadmin with password: kFYhb3jT

您按如下方式重置凭据;

omd su NAME-of-SITE

将 NAME-of-SITE 替换为您各自的站点名称,例如;

omd su kifarunix

接下来,运行以下命令以重置 Web 应用程序 admin (cmkadmin) 凭据。

htpasswd etc/htpasswd cmkadmin
exit

成功登录 Checkmk Web 界面后,这样的仪表板欢迎您。

很漂亮,不是吗?

如您所见,默认情况下没有主机/服务受到监控。 您需要在要监控的主机上安装代理,以便轮询必要的指标并开始监控您的基础设施。

我们将在下一个指南中介绍如何在 Linux 和 Windows 系统上安装 Checkmk 监控代理,链接如下;

如何在 Linux 上安装 Checkmk 监控代理

参考

在 Debian 和 Ubuntu 上安装

其他相关教程

在 Debian 11 上安装 Nagios

在 Rocky Linux 8 上安装 Nagios NRPE 代理

在 Debian 11 上从源代码安装 Zabbix 服务器