check_mk相较传统的nrpe、nsca等插件,不仅仅是效率上的提高,而且更将监控上升到了一种艺术 。使监控工作变得简单、快捷和高效。尤其在配合了wato配置以后,一切变得更为简单。

一、check_mk与main.mk

默认在监控的中心服务主机上安装完nagios、check_mk,并在被监控主机上安装完check_mk_agent后。可以在监控机上通过配置main.mk使配置生效。具体操作步骤如下。

1、监控端安装nagios、check_mk、pnp4nagios等 (该步的具体操作略)

2、被监控端安装check_mk_agent

1centos/redhat下
2wget http://mathias-kettner.de/download/check_mk-agent-1.2.2p3-1.noarch.rpm
3rpm -ivh check_mk-agent-1.2.2p3-1.noarch.rpm
4windows下
5wget http://mathias-kettner.de/download/check-mk-agent-1.2.2p3.exe
6然后下一步、下一步就行了

注:ubuntu相关版本也有deb包下载 。具体可以到官网参看。

check_mk_agent依赖xinetd,其具体在xinetd下的配置如下:

 1vim  /etc/xinetd.d/check_mk
 2service check_mk
 3{
 4        type           = UNLISTED
 5        #flags       = IPv4
 6        port           = 6556
 7        socket_type    = stream
 8        protocol       = tcp
 9        wait           = no
10        user           = root
11        server         = /usr/bin/check_mk_agent
12        # If you use fully redundant monitoring and poll the client
13        # from more then one monitoring servers in parallel you might
14        # want to use the agent cache wrapper:
15        #server         = /usr/bin/check_mk_caching_agent
16        # configure the IP address(es) of your Nagios server here:
17        #only_from      = 127.0.0.1 10.0.20.1 10.0.20.2
18        # Don't be too verbose. Don't log every check. This might be
19        # commented out for debugging. If this option is commented out
20        # the default options will be used for this service.
21        log_on_success =
22        disable        = no
23}

所以要保证该端口在监控端可以直接连接。具体可以通过telnet进行检测:

 1root:#telnet 192.168.161.31 6556
 2Trying 192.168.161.31...
 3Connected to 192.168.161.31.
 4Escape character is '^]'.
 5>>
 6Version: 1.2.2p3
 7AgentOS: linux
 8PluginsDirectory: /usr/lib/check_mk_agent/plugins
 9LocalDirectory: /usr/lib/check_mk_agent/local
10AgentDirectory: /etc/check_mk
11OnlyFrom:
12>>
13/dev/vda2     ext4    30963708   2938592  26452252      10% /
14/dev/vda1     ext4      516040     39756    450072       9% /boot
15/dev/vda5     ext4    78052320  10092160  63995336      14% /data1
16>>
17>>
18/dev/vda2 / ext4 rw,relatime,barrier=1,data=ordered 0 0
19/dev/vda1 /boot ext4 rw,relatime,barrier=1,data=ordered 0 0
20/dev/vda5 /data1 ext4 rw,relatime,barrier=1,data=ordered 0 0
21>>
22(root,19352,1204,0.0) /sbin/init
23(root,0,0,0.0) [kthreadd]
24(root,0,0,0.0) [migration/0]
25(root,0,0,0.0) [ksoftirqd/0]
26……………………………………………………
27……………………………………………………

如上所示有大量的数据回显回来表示,客户端配置正常。

3、监控端可以在main.mk里增加客户端IP并使监控生效

1vim /etc/check_mk/main.mk
2all_hosts = [ "localhost" , "192.168.161.31"]

如上所示,是增加了两台监控主机,增加完成后,可以通过check_mk命令自动监测并增加监控项,使配置生效。具体常用到的几个参数如下:

1cmk -I
2cmk -II
3cmk -O
4cmk -R

上面的参数不再细说,具体可以参看帮助查看。cmk是check_mk的一个软链接:

1root:#ll /usr/bin/cmk
2lrwxrwxrwx 1 root root 8 Dec 11 15:17 /usr/bin/cmk -> check_mk

注:按上面的操作就可以完成新主机的增加,和一些常用监控服务,如磁盘情况、cpu使用情况、内存、流量等的监控,不同于nrpe需要一项一项的去配置。不过这里并不建议使用main.mk直接去配置,因为check_mk给我们提供了更为人性化的工具wato

二、wato配置

Simple is beautiful 这才是运维美学,一个好的产品应该具体简单高效的特点。wato就是这样的,通过http://xxx.xxx.xxx.xxx/check_mk打开check_mk提供的gui界面,其和nagios的简面很像,不过其功能比nagios的web界面的功能要更强。如下图所示:

依示点选WATO configuration —– hosts & Folders —— new hosts

wato

输入被监控主机的相关信息

mk_addhost

选择save & go to services 会出现目前自动监测到的被监控机的所有可自动监控到的项目,通过最后面的勾选可以决定是否需要监控。

mk_addservices

最后save manual check configuration 即可。同时,通过这样增加的主机和服务在http://xxx.xxx.xxx.xxx/nagios界面也可以查到。你如果习惯在nagios的旧的web界面里查看主机和服务,也可以在check_mk提供的gui界面里查看主机和服务。同样的由于check_mk本身带有pnp4nagios模板,所以和pnp4nagios整合后,不用担心图形显示的问题。

三、总结

  1. 使用check_mk后,基本上所有主机的基本监控项都可以通过在被控主机端安装agent后,在wato界面上做相关配置就OK了,不需再像以前的产品一样,修改很多配置文件。
  2. wato配置后的配置文件在/etc/check_mk/conf.d/wato目录,如果想了解其配置规则的,可以通过该文件夹内的文件查看。
  3. check_mk后台可以方便的和ldap进行整合,可以方便的进行主机、服务、通知人等的分组。方便对不同的人分配不同的权限。
  4. wato自带的backup & restore功能,在每次更改后都会有changes提示,在actives changes后,自动会备份配置文件。通过该后台可以方便的恢复配置到某一状态 。