linux – 当负载很高时,Nagios插件可以获取进程快照

前端之家收集整理的这篇文章主要介绍了linux – 当负载很高时,Nagios插件可以获取进程快照前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们已经通过NRPE插件使用check_load配置Nagios来监控服务器负载,它会在负载很高时报告,但是当时没有选择快照顶级进程(如top命令).

那是否有任何nagios NRPE插件

解决方法

你可以用 event handlers做到这一点.

首先,为您的Load平均定义添加一个事件处理程序:

  1. define service{
  2. use generic-service
  3. host_name xx
  4. service_description Load_Average
  5. check_command check_nrpe!check_load
  6. event_handler processes_snapshot!xx
  7. contact_groups admin-sms
  8. }

processes_snapshot命令在commands.cfg中定义:

  1. define command{
  2. command_name processes_snapshot
  3. command_line $USER1$/eventhandlers/processes_snapshot.sh $SERVICESTATE$$SERVICESTATETYPE$$SERVICEATTEMPT$$HOSTADDRESS$
  4. }

第二,编写事件处理程序脚本(processes_snapshot.sh):

  1. #!/bin/bash
  2.  
  3. case "$1" in
  4. OK)
  5. ;;
  6. WARNING)
  7. /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot
  8. ;;
  9. UNKNOWN)
  10. ;;
  11. CRITICAL)
  12. /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot
  13. ;;
  14. esac
  15.  
  16. exit 0

命令processes_snapshot在xx主机上的nrpe.cfg中定义,如下所示:

  1. command[processes_snapshot]=top -cSbn 1 | tail -n +8 | sort -rn -k11 | head > /tmp/proc_snap.txt

PS:我还没有测试过这个配置.

猜你在找的Linux相关文章