在本教程中,您将学习如何使用 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 http://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,http://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,例如http://ubuntu20/kifarunix/
.
在我的设置中,我将只用我的服务器 IP 地址192.168.59.23替换主机名ubuntu20,这样我的 url 就是http://192.168.59.23/kifarunix/.
确保 Apache Web Server 已启动并正在运行;
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 应用程序管理员 (cmkadmin) 凭据。
htpasswd etc/htpasswd cmkadmin
exit
成功登录 Checkmk Web 界面后,这样的仪表板欢迎您。
很漂亮,不是吗?
如您所见,默认情况下没有主机/服务被监控。您需要在要监控的主机上安装代理,以便轮询必要的指标并开始监控您的基础设施。
我们将在下一个指南中介绍如何在 Linux 和 Windows 系统上安装 Checkmk 监控代理,链接如下;