监控变得简单:如何开始使用Checkmk

IT基础设施监控是复杂的,但像Checkmk这样的工具使其变得更加简单。

许多组织已经将云原生技术添加到其技术堆栈中,以提升其产品的性能。同时,他们通常继续运行自己的网络和本地基础设施。这种转向混合基础设施需要在监控中加以解决,因为每秒生成的度量指标数量巨大,涉及操作系统、存储、服务器、云环境等各种组件。确保应用程序以最佳性能运行对所有这些组件都至关重要。

这些度量指标对于了解基础设施的健康状况非常重要。这就是为什么组织需要监控解决方案,以帮助他们通过度量指标、可视化和分析快速识别生产中的问题。Checkmk是最受欢迎和有帮助的基础设施监控工具之一。在本文中,我将告诉您为什么Checkmk值得拥有良好的声誉,以及如何开始使用它的第一步。

Checkmk是什么?

Checkmk不断检查现代IT环境的任何方面的功能,特别适合混合基础设施。一方面,Checkmk灵活支持容器、云资源和交换机、服务器等本地系统。另一方面,它非常容易上手和管理您的监控,因为Checkmk自带了基于大量IT专业知识和其他智能功能的自动警报,这将节省您大量时间。

如果您想免费使用Checkmk,有两个选择:首先,您可以选择Checkmk原始版,它是完全开源的,无任何限制,可以免费使用。其次,有Checkmk企业版,拥有所有额外功能,但30天后主机数量将受到限制,最多为25个。

Checkmk如何解决问题?

Checkmk可以监控应用程序、服务器、数据库、网络、容器、存储等等。它提供了超过2000个监控插件的大量列表。借助这些插件,Checkmk可以扩展到监控市场上提供的不同供应商的特定技术。一些流行的Checkmk插件是为Docker、Kubernetes、Cisco、Nginx、VMware、Linux、Windows、AWS、Dell等开发的。凭借其2000多个插件,Checkmk成为当前可用的非常有前途的基础设施监控解决方案。

此外,对于任何监控解决方案来说,快速准确地读取度量指标并设置智能警报和通知非常重要。Checkmk的解决方案满足所有这些标准。通过其自动发现功能,Checkmk可以识别超过90%的服务和设备。现在,大多数企业都需要可扩展性和自动化。您可以在Checkmk中轻松扩展监控容量,从数百个主机扩展到数千个主机,并利用其可用于自动化的代理。

在Docker容器中安装Checkmk

在本文中,我将在运行Ubuntu 20.04的Linux服务器上的Docker容器中安装Checkmk原始版。您可以从Dockerhub下载最新的Checkmk镜像。迄今为止,它已经有近500万次下载,这说明了Checkmk的受欢迎程度和广泛使用。

使用docker container run命令将最新版本的Checkmk镜像运行在容器中。

docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest

容器的名称将为“monitoring”,Web服务器将监听节点的5000端口,并在节点的8080端口打开。容器将使用临时文件系统和本地时区。

yaoweibin@yaoweibin:〜$ sudo docker容器运行-dit-p 8080:5000 –tmpfs / opt / omd / sites / cmk / tmp:uid = 1000,gid = 1000 -v / omd / sites –name monitoring -v / etc / localtime:/etc/localtime:ro –restart always checkmk / check -mk-raw:2.0.0-latest
无法在本地找到图像'checkmk / check-mk-raw:2.0.0-latest'
2.0.0-latest:从checkmk / check-mk-raw拉取
来自checkmk / check-mk-raw的33847f680f63:拉取完成
474905f2790b:拉取完成
1804f0e63047:拉取完成
f36fe6334464:拉取完成
03c68dfa69cf:拉取完成
来自checkmk / check-mk-raw的b60cfdb78e96:拉取完成
摘要:sha256:7788fa2e31c7270be201d75285c13ccc7a74f67f991872ea63ba0cfa6708cac6
状态:下载了checkmk / check-mk-raw的新图像
9729e323a840a08b0e758cfa9e6dbf76ba5dab4b2ecc4eea5174b8ee1a5cfbcf

您可以通过运行命令 docker images 来检查是否已下载Docker映像。

yaoweibin@yaoweibin:~$ sudo docker images
存储库              标签           映像ID       创建日期        大小
bitnami / node-exporter   latest         ba0f519ca49b   34小时前   104MB
checkmk / check-mk-raw    2.0.0-latest   097319702432   13天前     1.03GB
hello-world             latest         feb5d9fea6a5   7周前      13.3kB  

运行命令 docker ps 以查看Checkmk容器是否正在运行。

yaoweibin@yaoweibin:~$ sudo docker ps
CONTAINER ID   IMAGE                               COMMAND                  CREATED              STATUS                             PORTS                                                 NAMES
9729e323a840   checkmk / check-mk-raw:2.0.0-latest   "/ docker-entrypoint.…"   大约一分钟前   启动了59秒钟(健康:启动中)   6557 / tcp,0.0.0.0:8080->5000 / tcp, ::: 8080->5000 / tcp   监控
3d3a95ed3c25   bitnami / node-exporter:latest        "/ opt / bitnami / node-e ..."   25小时前         上线25小时                        9100 / tcp                                              node-exporter  

要获取Checkmk Web界面的登录详细信息,请打印Checkmk容器日志。

yaoweibin@yaoweibin:~$ sudo docker container logs 9729e323a840 
### CREATING SITE 'cmk'
将/opt/omd/sites/cmk/tmp添加到/etc/fstab。
将TMPFS设置为关闭。
临时文件系统已经挂载
更新核心配置...
为核心(类型nagios)生成配置...预编译主机检查...完成
完成
执行后创建脚本“01_create-sample-config.py”...完成
使用版本2.0.0p15.cre创建了新站点cmk。

  该站点可以使用omd start cmk启动。
  默认的Web UI位于http://9729e323a840/cmk/

  Web应用程序的管理员用户是cmkadmin,密码为:ClFxBPre
  要通过站点的命令行管理,请使用'omd su cmk'登录。
  登录后,您可以使用'htpasswd etc/htpasswd cmkadmin'更改cmkadmin的密码。

### STARTING XINETD
[ ok ] Starting internet superserver: xinetd.
### STARTING SITE
临时文件系统已经挂载
启动mkeventd...完成
启动rrdcached...完成
启动npcd...完成
启动nagios...完成
启动apache...完成
启动redis...完成
初始化Crontab...完成
### STARTING CRON
### CONTAINER STARTED  

Checkmk Docker容器默认在https://localhost:8080/cmk/check_mk上运行。上述命令的输出告诉您用户名是cmkadmin,密码是ClFxBPre(在我的情况下)。在Web浏览器中打开该地址,并使用您的凭据登录。

登录后,将显示此“主仪表板”。它是空的,因为您尚未添加任何主机。

使用Checkmk监视Docker

通常,您会在托管Docker容器的计算机上安装Checkmk代理,然后使用Checkmk的Docker插件来监视所有容器。此插件(mk_docker.py)使用Docker的Python-API来跟踪Docker容器,并实时监视其状态和性能。您可以在Checkmk网站上阅读有关LINK_4的更多详细信息。

因为在我的Docker环境中只有一个正在运行的Docker容器,即我的Checkmk Docker容器,所以我只会使用运行在Docker容器中的Checkmk代理,而不会在我的Docker主机上安装Checkmk。代理已经预先安装在Checkmk容器中,因此,我只需将我的Checkmk容器添加为主机。

让我们通过在终端上使用ifconfig命令来获取Docker服务运行的IP地址。

yaoweibin@yaoweibin:~$ ifconfig
docker0: flags=4163 mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:59ff:fe8a:8ba8 prefixlen 64 scopeid 0x20
ether 02:42:59:8a:8b:a8 txqueuelen 0 (Ethernet)
RX packets 5559 bytes 7230215 (7.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4164 bytes 614703 (614.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s3: flags=4163 mtu 1500
inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::144a:4682:35e7:bb2 prefixlen 64 scopeid 0x20
ether 08:00:27:91:82:82 txqueuelen 1000 (Ethernet)
RX packets 699491 bytes 1044235622 (1.0 GB)
RX errors 0 dropped 7 overruns 0 frame 0
TX packets 101260 bytes 7555470 (7.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 20655 bytes 8446042 (8.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 20655 bytes 8446042 (8.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

veth44ba5ce: flags=4163 mtu 1500
inet6 fe80::145f:1fff:fee9:a7b0 prefixlen 64 scopeid 0x20
ether 16:5f:1f:e9:a7:b0 txqueuelen 0 (Ethernet)
RX packets 5559 bytes 7308041 (7.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4173 bytes 616263 (616.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

vetha82ee43: flags=4163 mtu 1500
inet6 fe80::585c:6fff:fe0a:a79b prefixlen 64 scopeid 0x20
ether 5a:5c:6f:0a:a7:9b txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 92 bytes 9799 (9.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

在我的情况下,Docker服务运行在172.17.0.1上。下一步是将Docker服务添加为Checkmk的主机以进行监视。

1. 转到Checkmk并点击Setup -> Hosts。

2. 点击“Add host”。

3. 然后提供主机名和IP地址,然后点击“Save & go to the service configuration”。

4. 一旦您这样做,Checkmk将自动启动服务发现。

向下滚动以查看在Docker主机下运行的监控服务。您可以看到目前未对这些服务进行监控。如果您想监控所有内容,最简单的解决方案是点击“全部修复”。如果您想配置应该监控哪些服务,您也可以详细进行此操作。如果您想监控某个服务,请点击+符号。

一旦您选择了要监控的服务,它们将出现在“已监控的服务”选项卡中。您将获得每个正在监控的服务的所有状态详情。如果您点击?符号,该服务将移至待定服务列表。如果您点击X符号,该服务将移至“已禁用的服务”选项卡。

我已禁用了四个服务,所以可以在“已禁用的服务”选项卡中看到它们。

当您完成添加服务后,您需要激活更改,以便它们进入生产环境。

  • 点击右上角带有黄色感叹号(!)的突出显示字段,以查看待处理更改。
  • 点击在选定的站点上激活

您已成功使用Checkmk监控Docker服务!

结论

这就是关于Checkmk的全部内容,它是一款基础设施监控工具。它是一个非常易于使用的工具,您一定要尝试以监控您的生产环境。我建议尝试链接_5来开始您的监控。

类似文章