nagios的实时监控

nagios只能监控服务器1分钟,5分钟和15分钟的情况。但我们无法通过nagios了解当发生状况那一瞬间我们的服务器运行了哪些服务。这无法帮助我们找出导致出问题的原因。因为需要记录发生状况一瞬间的服务。

创新互联主营积石山保安族东乡族网站建设的网络公司,主营网站建设方案,手机APP定制开发,积石山保安族东乡族h5小程序设计搭建,积石山保安族东乡族网站营销推广欢迎积石山保安族东乡族等地区企业咨询

1. 编辑主机文件linhost.cfg

define service{

    use                     generic-service

    host_name               linhost

    service_description     Load_Average_RES

    check_command           check_nrpe!check_load

    event_handler           processes_snapshot_RES!linhost

    contact_groups          admins

}

define service{

    use                     generic-service

    host_name               linhost

    service_description     Load_Average_CPU

    check_command           check_nrpe!check_load

    event_handler           processes_snapshot_CPU!linhost

    contact_groups          admins

}

2. 编辑命令文件command.cfg

 define command{

    command_name    processes_snapshot_RES

    command_line   $USER1$/eventhandlers/processes_snapshot_RES.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$

}

define command{

    command_name    processes_snapshot_CPU

    command_line    $USER1$/eventhandlers/processes_snapshot_CPU.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$

}

3. 编辑脚本processes_snapshot_CPU.sh和processes_snapshot_RES.sh

processes_snapshot_CPU.sh

#!/bin/bash

case "$1" in

    OK)

        ;;

    WARNING)

        /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot_CPU

        ;;

    UNKNOWN)

        ;;

    CRITICAL)

        /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot_CPU

        ;;

esac

exit 0

processes_snapshot_RES.sh

#!/bin/bash

case "$1" in

    OK)

        ;;

    WARNING)

        /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot_RES

        ;;

    UNKNOWN)

        ;;

    CRITICAL)

        /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot_RES

        ;;

esac

exit 0

4. 编辑被监控端的配置文件nrpe.cfg

command[processes_snapshot_RES]=top -cSbn 1 | tail -n +8 | sort -rn -k6 | head -n 20 > /tmp/proc_snap_RES_`date +%y%m%d-%H:%H:%S`.txt

command[processes_snapshot_CPU]=top -cSbn 1 | tail -n +8 | sort -rn -k9 | head -n 20 > /tmp/proc_snap_CPU_`date +%y%m%d-%H:%H:%S`.txt

5. 在被监控端创建目录

#cd /usr/local/nagios

#mkdir log

#chmod 777 log

#chown nagios:nagios log

6. nagios具有缓存功能,我们需要关掉nagios的缓存功能。编辑nagios主配置文件nagios.cfg。

cached_host_check_horizon=0

cached_service_check_horizon=0

到此就配置好了,当我们的服务器负载过高时,就会在被监控服务器的/usr/local/nagios/log目录下生成文件记录那一瞬间运成的服务。


当前题目:nagios的实时监控
文章起源:http://myzitong.com/article/ihgiop.html