yl197837 发表于 2019-1-13 15:05:57

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



页: [1]
查看完整版本: nagios的实时监控