[root@nhserver2 ~]# cd /usr/local/nagios/etc/objects
[root@nhserver2 objects]# vim hosts_dns.cfg
define host{
use windows-server
host_name 221.7.128.68
alias 221.7.128.68
address 221.7.128.68
}
define service{
use local-service
host_name 221.7.128.68
service_description check_ping
check_command check_ping!100.0,20%!200.0,50%!10!2
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
}
[root@nhserver2_5 objects]# cd ..
[root@nhserver2 etc]# vim nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts_dns.cfg
[root@nhserver2 etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@nhserver2 etc]# service nagios reload
测试:
[root@nhserver2 etc]# cd /usr/local/nagios/libexec
[root@nhserver2_5 libexec]# ./check_ping -H 221.7.128.68 -w 100.0,20% -c 200.0,50% -p 10 -t 2
PING OK - Packet loss = 0%, RTA = 1.53 ms|rta=1.534000ms;100.000000;200.000000;0.000000 pl=0%;20;50;0
在nagios的services中就能看到这个dns的状态了
221.7.128.68
check_ping
OK 04-17-2014 20:00:41 0d 0h 9m 6s 1/5 PING OK - Packet loss = 0%, RTA = 1.78 ms
======================================================================================
nagios的check_ping命令:
用法:
./check_ping
Usage: check_ping -H <host_address> -w <wrta>,<wpl>% -c <crta>,<cpl>%
[-p packets] [-t timeout] [-L] [-4|-6]
具体如下:
-H 主机地址
-w WARNING 状态: 响应时间(毫秒),丢包率 (%) 阀值
-c CRITICAL状态: 响应时间(毫秒),丢包率 (%) 阀值
-p 发送的包数 默认5个包
-t 超时时间 默认10秒
-4|-6 使用ipv4|ipv6 地址 默认ipv4
如:
1、正常:
./check_ping -H www.google.com -w 100.0,20% -c 200.0,50% -p 3 -t 2
PING OK – Packet loss = 0%, RTA = 1.49 ms
命令执行结果返回: echo $? 为 0
2、WARNING :
./check_ping -H www.google.com -w 0.1,20% -c 200.0,50% -p 3 -t 2
PING WARNING – Packet loss = 0%, RTA = 1.71 ms
命令执行结果返回: echo $? 为 1
3、CRITICAL
./check_ping -H www.google.com -w 0.1,20% -c 0.9,50% -p 3 -t 2
PING CRITICAL – Packet loss = 0%, RTA = 1.60 ms
命令执行结果返回: echo $? 为 2
返回结果为:状态 丢包率 ping响应时间
因为check_ping的返回值非常清晰,
可以在其他程序中调用check_ping命令,作为辅助的网络检测工具。