监控变得简单:如何开始使用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来开始您的监控。