- 经验
- 30
- 分贝
- 0
- 家园分
- 211
- 在线时间:
- 146 小时
- 最后登录:
- 2025-8-21
- 帖子:
- 4
- 精华:
- 0
- 注册时间:
- 2008-5-8
- UID:
- 232721
注册:2008-5-8
|
在基于OMD的nagios中增加自定义监控项有多种方法。基本原理都是通过agent去执行指定的脚本获取监控结果。结果有一定输出格式要求。脚本可以自定义的,也可以重用原有nagios的。
首先,搞清脚本或配置文件目录很重要。
建议通过cmk -d targethostname, dump出监控信息,查看最上面的部分。例如
OMD[monitoring]:~$ cmk -d hostname |head
<<< check_mk>>>
Version: 1.2.4p5
AgentOS: linux
PluginsDirectory: /usr/share/check-mk-agent/plugins
LocalDirectory: /usr/share/check-mk-agent/local -> 对应Check_MK local script方法的脚本存放目录
SpoolDirectory: /etc/check-mk-agent/spool
AgentDirectory: /etc/check-mk-agent -> 对应MRPE方法配置文件目录
方法一. Check_MK local script
将自己的监控脚本放在local 目录下。check mk agent会自动检查里面的脚本。脚本的输出为4列,分别为
状态 0 for OK, 1 for WARNING, 2 for CRITICAL and 3 for UNKNOWN
监控项描述 监控项描述,不能含有空格。因为空格被作为分列的标记。
性能参数 用以描述当前值和设定的阀值,建议格式为varname=value;warn;crit;min;max,不能有空格。
监控结果 监控结果输出,可包含空格
一个输出的例子:
对应的脚本的例子:
添加完脚本后,需要添加到nagios的Inventory里去:
OMD[monitoring]:/usr/share/check-mk-agent/local$ cmk -I hostname
local 2 new checks
检查监控已生效:cmk -d hostname | grep -A5 local, 如果在<<<local>>> tag下有正确的输出,就ok了。
最后在Check Mk WATO中把监控项添加一下,就能在Multisite GUI里看到监控项了
方法二: MRPE
从check_mk version 1.0.36 开始,Linux agents 已经包含了MRPE。MRPE使得在Check Mk中可以很方便的调用原来nagios的plugin.
MRPE需要一个mrpe.cfg文件,放置位置为agent的配置目录,具体确定方法前面有描述。文件的内容很简单,每一行是一个监控项名称(不含空格),加上调用nagios plugin命令的完整命令行,包含参数。如:
check_users /usr/lib64/nagios/plugins/check_users -w 10 -c 15
check_load /usr/lib64/nagios/plugins/check_load -w 30,12,10 -c 40,30,20
check_ovs_port_report /usr/lib64/nagios/plugins/ovs_port_report.pl
check_disk /usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
也可以在plugin目录下自己添加脚本,然后在mrpe.cfg中进行调用:
check_vms_total /usr/lib64/nagios/plugins/check_vms_total.pl
mrpe.cfg准备好后,与Check_MK local script方法一样,需要通过cmk -I hostname添加到Inventory,并通过cmk -d检查输出(在<<<mrpe>>> tag下)。
最后检查Multisite GUI里host能否显示监控项,如果不行的话,通过WATO编辑一下就可以。
TIPS: 注意检查脚本必须有可执行权限。否则无法得到正确结果。
更多有关OMD和Check MK的内容请查看www.zouliblog.cn
|
|