在本教程中,您将学习如何使用 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 服务器