一聚教程网:一个值得你收藏的教程网站

热门教程

linux中利用nagios监控机房温度

时间:2022-11-14 22:08:00 编辑:袖梨 来源:一聚教程网

曲线救国方式,用交换机的温度来判断空调是否断电。

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界面可以查看当前网络状态,通知,问题历史,日志文件等

热门栏目