停留在check_mk这个项目的学习、使用、功能测试、总结等上面花了二周左右的时间。也差不多该做个总结做其他事情了。虽然看了很多,测了很多,不过感觉了解的还不够深,总结的也比较少。这篇主要说下check_mk的mrpe插件和其他的一些相关项,想到那些就说那些吧。

一、mrpe插件

1、mrpe的配置

mrpe插件是一个类似于nrpe一样年的插件,主要用于自写的或第三方的脚本的检测。同nrpe一样,其也有一个mrpe.cfg的配置文件。具体配置如下:

1vim /etc/check_mk/mrpe.cfg
2LOAD      /usr/lib/nagios/plugins/check_load -w 2 -c 5
3FS_var    /usr/lib/nagios/plugins/check_disk /var
4FS_hirn   /usr/lib/nagios/plugins/check_disk /hirn
5Aptitude  /usr/lib/nagios/plugins/check_apt
6Smart_sda /usr/lib/nagios/plugins/check_ide_smart -d /dev/sda -n

2、监控端的检测

其写法上比较简洁,不像nrpe,需要在commands上做定义。也不需“=、[]”之类的符号标记。直接先写一个服务的描述,空格,后面就是要监测的命令和告警参数。按上面的配置完成后,通过下面的命令自动检测配置

1root@linux# cmk -I --checks=mrpe somehost123
2mrpe                  5 new checks
3…………………………
4…………………………

somehosts123是主机名或ip地址 。在监控端可以通过下面的命令测试数据获取:

1root@linux# check_mk -d somehost123 | grep -A5 mrpe
2>>
3LOAD 0 OK - load average: 0.31, 0.27, 0.20|load1=0.310;2.000;5.000;0; load5=...
4FS_var 0 DISK OK - free space: / 133783 MB (75% inode=97%);| /=42731MB;;;0;185961
5FS_hirn 2 DISK CRITICAL - /hirn is not accessible: No such file or directory
6Aptitude 0 APT OK: 0 packages available for upgrade (0 critical updates).
7Smart_sda 0 OK - Operational (19/19 tests passed)

3、pnp4nagios出图

pnp4nagios的出图也不需要在原基础上做过多的配置,只需要在监控端的main.mk中增加以下内容即可:

1vim main.mk
2perfdata_format = "pnp"

二、check_mk下与pnp4nagios的整合

这个我在另一个篇check_mk的文章里略过,这里就再提一下,无论是否使用check_mk,nagios与pnp4nagios的整合就那几种方式。只不过在使用了check_mk后,check_mk的后台上多了一项方便开关performance data的按钮。我经常用的整合方式是

Synchronous mode

改模式的配置方法如下:

1、修改nagios.cfg的如下几个相关项将其配置改为如下:

1process_performance_data=1
2define service {
3   ...
4   process_perf_data 0
5   ...
6}
7enable_environment_macros=1
8service_perfdata_command=process-service-perfdata
9host_perfdata_command=process-host-perfdata

2、找到commands.cfg修改或增加如下两行

1define command {
2       command_name    process-service-perfdata
3       command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
4}
5define command {
6       command_name    process-host-perfdata
7       command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
8}

上面的process_perfdata.pl的真实路径视个人安装的情况而定。

注意:在pnp4nagios的整合方式中,自pnp4nagios 0.6.12版本后新增了Gearman mode 模式,该模式允许pnp4nagios和nagios运行在不同的主机上。不过一般情况下我们用不到该模式,只有超级大的监控中心才会用到该模式。

三、其他

check_mk灵活的分组和通知处理本来也该另做一篇来总结,不过实在有点懒了。想要了解的可以看官方文档,当然英文不大好的,也可以看下运维网上的一小部分介绍。

对mail、bacula、lvs等的监控可以看下wiki实例