linux中利用nagios监控机房温度linux操作系统 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

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

最新文章