nagios插件程序提供两个返回值:一个是插件的退出状态码,另一个是插件在控制台上打印的第一行数据。退出状态码可以被nagios主程序
作为判断被监控系统服务状态的依据,控制台打印的第一行数据可以被nagios主程序作为被监控系统服务状态的补充说明
会显示在管理页面里面。
为了管理nagios插件,nagios每查询一个服务的状态时,就会产生一个子进程,并且它使用来自该命令的输出和退出状态码来
确定具体的状态.nagios主程序可识别的状态码和说明如下:
好的,,,,,,退出代码0,表示服务正常的工作
警告,,,退出代码1——表示服务处于告警状态
至关重要,,,退出代码2——表示服务处于紧急,严重状态
未知,,,退出代码3,表示服务处于未知状态
[root@RS1服务]#头7/usr/local/nagios/libexec/utils.sh
# !/bin/sh
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
示例一:判断/etc/passwd文件是否变化,利用nrpe的被动模式
原理:利用md5sum进行指纹收集md5sum/etc/passwd祝辞/etc/passwd.md5
利用md5sum - c/etc/passwd.md5对指纹进行判别,出现好则没有变化,反之则变化了
监控密码文件是否被更改:
先做指纹库md5sum
/etc/passwd祝辞/etc/passwd.md5
在客户端上创建脚本vim/usr/local/nagios/libexec/check_passwd
# !/bin/bash
char=' md5sum - c/etc/passwd.md5 2祝辞,1 | grep“OK”| wc - l”
如果(char eq 1美元);然后
,回声“passwd OK”
,退出0,,其他,
,回声“密码修改”
,出口2
fi
# # # # # #给脚本执行权限
chmod + x/usr/local/nagios/libexec/check_passwd
# # # # #定义check_passwd命令
vim/usr/local/nagios/etc/nrpe.cfg
命令[check_passwd]=/usr/地方/nagios/libexec/check_passwd
# # # # #重启nrpe服务
# # # # # #在nagios主程序先手动抓取数据
[root@RS1 libexec) #。/check_nrpe - h 192.168.1.11 - c check_passwd
passwd很好
# # # # # #在nagios主程序上定义服务配置
vim/usr/local/nagios/etc/objects/services.cfg(主动模式和被动模式各自的服务。cfg配置文件,各自分别管理)
定义服务{
,,,,使用,,,,,,,,,,通用服务
,,,,host_name,,,,,,,client02
,,,,service_description,,check_passwd
,,,,check_command,,,,,check_nrpe !check_passwd
}
然后在nagios服务端进行手动抓取数据:
/usr/地方/nagios/libexec/check_nrpe - h 192.168.1.11 - c check_passwd
出现数据,表明基本已经没有问题,重启服务,观察web平台页面,如下图:
自定义监控web url,用主动模式监控
root@RS1 ~ #卷发——http://192.168.1.11/index。html 2在/dev/null | grep“OK”
HTTP/1.1 200 OK
root@RS1 ~ #卷发——http://192.168.1.11/index。html 2在/dev/null | grep“OK”| wc - l
1,编写执行脚本cd/usr/local/nagios/libexec
vim check_web_url
# !/bin/bash
char=' curl——http://192.168.1.11/index。html 2在/dev/null | grep“OK”| wc - l”
如果(char eq 1美元);然后
,回声“url是好的”
,其他退出0
,回声“网址是错的”
,出口2
fi
chmod + x check_web_url
2,添加check_web_url这个命令到命令。cfg配置文件中
# # # # # # # # # # # # define命令check_web_url # # # # # # # # # #
定义命令{
,,,,command_name,,check_web_url
,,,,command_line,,USER1/美元check_web_url
,}
3,编辑服务器。cfg文件cd/usr/local/nagios/etc/services
vim web_url。cfg
定义服务{
,,,,使用,,通用服务
,,,,host_name,,,client02,,,监控的主机192.168.1.11在hosts.cfg有定义
,,,,service_description,,web_url
,,,,check_period 24 x7
,,,,check_interval 5
,,,,retry_interval 1
,,,,max_check_attempts 3
,,,,check_command,,check_web_url大敌;,因为是主动模式
,,,,notification_period 24 x7
,,,,notification_interval 30
,,,,notification_options, w, u c r
,,,,contact_groups管理员
}
4,检测错误,重启服务
#/etc/init. root@RS1服务d/nagios checkconfig