check_mk自定义监控配置方法
下面以创建一个统计磁盘状态的监控为例来说明,check_mk自定义监控的配置步骤为:
(1)在check_mk agent端增加采集脚本
在/usr/lib/check_mk_agent/plugins目录中自定义一个script脚本,并赋予可执行权限,假设为usr/lib/check_mk_agent/plugins/rapid.sh,其内容如下:
1 |
|
备注:
一定要注意的是,采集脚本的输出要以<<
另外我们不在agent端新增脚本,直接编辑/usr/bin/check_mk_agent脚本,将自己的采集程序加入到该脚本也是可以的,但是我们一般不会这么做哦。
(2)在服务端编写check脚本,用于解析agent端返回的值
在/opt/omd/sites/XXX/local/share/check_mk/checks目录下新建名称为rapid的文本文件(文件名必须要于agent端采集脚本的header相同),内容如下:
1 | #!/usr/bin/python |
备注:配置了如上内容,既可以在./bin/check_mk -L中有了rapid.temp的采集项
(3)测试验证
1 | ./bin/check_mk -L | grep rapid #查看检查项已经正确配置到check_mk |
在check_mk页面上,点击到机器的WATO页面,会发现新增的服务被check_mk自动发现了,我们在页面上点击添加,并activate change即可。界面显示效果如下:
自定义监控服务端脚本说明
check_mk服务端脚本有三部分组成:
(1)Inventory函数
(2)check函数
check函数接收三个参数,分别是items、检查参数、agent返回info。check函数返回值必须是一个元组,该元组的元素分别为:
status code (0=OK, 1=WARN, 2=CRIT, 3=UNKNOWN)
文本字符串,用来现在到check_mk或nagios的WEB界面上
性能数据,该部分是可选的
(3)check声明
是一个字典形式。
为自定义监控加上性能数据
(1)修改服务端脚本
为自定义监控加上性能数据,既可以在check_mk页面展示PNP4Nagios的可视化界面了。增加性能数据只需要修改服务端脚本即可,我们在上面的例子基础上,做如下修改即可:
1 | #!/usr/bin/python |
备注:需要两处修改,第一处在check声明时,通过has_perfdata指明有性能数据。第二处是在check函数的返回值增加第三个字段,填充性能数据即可。其中性能数据的python列表,列表中每一个元素是元组类型,每个元组类型的字段如下(其中只有name和value是必需的,其他都是可选的):
举例来说:
(2)check_mk界面上验证效果
增加了性能数据,在check_mk的显示效果为:
学习资料参考于:
http://blog.csdn.net/dingyingguidyg/article/details/22674779
http://mathias-kettner.de/checkmk_devel_agentbased.html