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目录下生成文件记录那一瞬间运成的服务。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。