以前介绍过很多关于nagios监控服务器状态的一些文章,今天看到一朋友写到一篇章nagios监控机房温度的文章非常的不错,下面整理分享一下,有兴趣的朋友可进入参考,
linux中利用nagios监控机房温度linux操作系统
。曲线救国方式,用交换机的温度来判断空调是否断电。
1、expect交互登录交换机读取温度值
代码如下复制代码[root@nagios opt]# cat 123.exp
#!/usr/bin/expect -f
set user user
set passwd password
spawn telnet 192.168.0.254
expect "Username:"
send -- "$userr"
expect "Password:"
send -- "$passwdr"
expect ""
send -- "dis envr"
expect ""
send -- "quitr"
expect eof
2、添加一个nagios监控脚本
代码如下复制代码[root@nagios opt]# cat /usr/local/nagios/libexec/check_temp
#!/bin/bash
expect /opt/123.exp >/opt/123.log
temp=`awk '/hotspot/ {print $3}' /opt/123.log`
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
if [ "$#" == "4" ]
then
#Set variables
arg=${4}
w=$2
c=$4
if [ $temp -ge $w -a $temp -lt $c ]
then
echo "Warning :Room temperature $temp°C "
exitstatus=$STATE_WARNING
elif [ $temp -ge $c ]
then
echo "Critical :Room temperature $temp°C"
exitstatus=$STATE_CRITICAL
else
echo "OK :Room temperature $temp°C."
exitstatus=$STATE_OK
fi
fi
exit $exitstatus
3、添加command
代码如下复制代码[root@nagios opt]# tail -5 /usr/local/nagios/etc/objects/commands.cfg
# 'check_temp' command definition
define command{
command_name check_temp
command_line $USER1$/check_temp -w $ARG1$ -c $ARG2$
}
4、修改nrpe.cfg
代码如下复制代码[root@nagios opt]# grep "temp" /usr/local/nagios/etc/nrpe.cfg
command[check_temp]=/usr/local/nagios/libexec/check_temp -w 30 -c 33
5、添加监控项目
代码如下复制代码[root@nagios opt]# tail -6 /usr/local/nagios/etc/objects/localhost.cfg
define service{
use generic-service
host_name localhost
service_description check_temp
check_command check_nrpe!check_temp
}
Nagios主要功能
网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
主机资源监控(CPU load、disk usage、system logs),也包括Windows主机(使用NSClient++ plugin)
可以指定自己编写的Plugin通过网络收集数据来监控任何情况(温度、警告……)
可以通过配置Nagios远程执行插件远程执行脚本
远程监控支持SSH或SSL加通道方式进行监控
简单的plugin设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
可并行服务检查
能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
当服务或主机出现问题时发出通告,可通过email, pager, sms 或任意用户自定义的plugin进行通知
能够自定义事件处理机制重新激活出问题的服务或主机
自动日志循环
支持冗余监控
包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等