笺注:这是在 Nagios设置告警邮件 的基础上进行的。
被监控主机以Windows2008R2为例
防火墙里要允许ping,否则Nagios页面会显示其为宕机状态
笺注:被监控主机无需做其他配置的了。
在Nagios服务器验证是否可以ping通被监控主机:(可以测试任意主机)
[root@oracle-linux6 ~]# cd /usr/local/nagios/libexec/
[root@oracle-linux6 libexec]# ./check_icmp 192.168.168.129
OK - 192.168.168.129: rta 0.349ms, lost 0%|rta=0.349ms;200.000;500.000;0; pl=0%;40;80;; rtmax=0.388ms;;;; rtmin=0.257ms;;;;
在Nagios服务器检测TCP端口:(可以测试任意主机)
[root@oracle-linux6 libexec]# ./check_tcp 192.168.168.129 -p 80
TCP OK - 0.001 second response time on port 80|time=0.000549s;;;0.000000;10.000000
Nagios自带的主机文件:
编辑Windows主机文件,自定义主机、服务:(host_name无需与被监控主机的真实主机名一致)
[root@oracle-linux6 ~]# vi /usr/local/nagios/etc/objects/windows.cfg
笺注:可以把下面的代码直接覆盖配置文件。
define hostgroup{
hostgroup_name windows-servers
alias Windows Servers
}
define host{
use windows-server
host_name gz1
alias gz web1
address 192.168.168.129
icon_image_alt Windows Server
icon_image win40.gif
statusmap_image win40.gd2
}
define service{
use generic-service
host_name gz1
service_description Check Port TCP:80
check_command check_tcp!80 -t 5!
}
注释:多台Windows主机也是写在这个文件里,服务是根据主机名进行区分的。
启用windows.cfg文件:
[root@oracle-linux6 ~]# vi /usr/local/nagios/etc/nagios.cfg
修改为:(去掉前面的 # )
验证配置是否正确:
[root@oracle-linux6 ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
没有警告和错误,才能重启nagios!!!
[root@oracle-linux6 ~]# service nagios restart
Running configuration check...
Stopping nagios: done.
Starting nagios: done.
备注:假如只是想监控主机是否能ping通(在线)、某些TCP端口是否正常等,做到这里就够了;
被监控主机添加成功了(备注:是以ping的方式判断主机的状态)
###
以下是被监控主机的TCP 80端口关闭后,在Nagios页面看到的效果:(服务关闭了,对应端口也相当于关闭了)
Status Information: CRITICAL - Socket timeout after 5 seconds
收到的告警邮件:
当被监控主机的TCP 80端口恢复正常后,收到的告警恢复邮件:
###
以下是被监控主机关机后,在Nagios页面看到的效果:
收到的宕机告警邮件:(不会收到此被监控主机对应的服务的告警邮件了)
被监控主机开启后,收到的宕机恢复邮件:(不会收到此被监控主机对应的服务的告警恢复邮件了)
|