nagios的实时监控

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

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目录下生成文件记录那一瞬间运成的服务。

本文出自 “运维工作笔记” 博客,请务必保留此出处http://yyyummy.blog.51cto.com/8842100/1554483

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。