zoukankan      html  css  js  c++  java
  • Debian 系统安装 Nagios 服务器监控端

    1. 安装
      apt-get update
      apt-get install nagios* perl
      apt-get install --no-install-recommends pnp4nagios
      apt-get install apache2 apache2-utils php5 php-pear

    2. 修改npcd设置
      # vim /etc/default/npcd
      Run="yes"
      # service npcd start

    3. 添加process_perfdata.pl执行权限
      chmod +x /usr/lib/pnp4nagios/libexec/process_perfdata.pl
    4. 修改commands.cfg设置(注释旧命令)
      vi /etc/nagios3/commands.cfg
      # 'process-host-perfdata' command definition
      define command{
         command_name   process-host-perfdata
         #command_line   /usr/bin/printf "%b" "$LASTHOSTCHECK$	$HOSTNAME$	$HOSTSTATE$	$HOSTATTEMPT$	$HOSTSTATETYPE$	$HOSTEXECUTIONTIME$	$HOSTOUTPUT$	$HOSTPERFDATA$
      " >> /var/lib/nagios3/host-perfdata.out
         command_line   /usr/bin/perl /usr/lib/pnp4nagios/libexec/process_perfdata.pl
         }
      
      
      # 'process-service-perfdata' command definition
      define command{
         command_name   process-service-perfdata
         #command_line   /usr/bin/printf "%b" "$LASTSERVICECHECK$	$HOSTNAME$	$SERVICEDESC$	$SERVICESTATE$	$SERVICEATTEMPT$	$SERVICESTATETYPE$	$SERVICEEXECUTIONTIME$	$SERVICELATENCY$	$SERVICEOUTPUT$	$SERVICEPERFDATA$
      " >> /var/lib/nagios3/service-perfdata.out
         command_line   /usr/bin/perl /usr/lib/pnp4nagios/libexec/process_perfdata.pl
         }
      commands.cfg Code
    5. 修改nagios.cfg配置
      vi /etc/nagios3/nagios.cfg 修改以下3行配置
      process_performance_data=1
      host_perfdata_command=process-host-perfdata
      service_perfdata_command=process-service-perfdata
      修改check_external_commands=1 (未修改可能导致web网站无法Re-schedule监控项)
      修改enable_flap_detection=0 (虽然文档里说默认是0,但实际为1.改为0之后就解决了flapping state)
    6. 修改services_nagios2.cfg配置
      vi /etc/nagios3/conf.d/services_nagios2.cfg
      notification_interval 1
      vi /etc/nagios3/conf.d/generic-service_nagios2.cfg
      notification_interval 1
    7. 删除install.php
      # cd /usr/share/pnp4nagios/html
      # mv install.php install.php.bak

    8. Nagios插件目录: /usr/lib/nagios/plugins/
    9. 添加pnp4nagios插件
      vi /etc/nagios3/conf.d/pnp4nagos.cfg 追加如下配置
      define host {
              name       host-pnp
              action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$'class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
              register   0
              process_perf_data       1
      }
      
      define service {
              name       srv-pnp
              action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$'class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
              register   0
              process_perf_data       1
      }
      Code
    10. 默认是没有监控内存的,若需要监控复制check_mem.sh文件到插件目录,再添加相关配置文件
      添加自定义执行命令
      vi /etc/nagios3/conf.d/custom_commond.cfg
      define command{
              command_name        check_mem
              command_line        $USER1$/check_mem.sh -w $ARG1$ -c $ARG2$
              }
      Code
      添加本机的check_mem服务
      vi /etc/nagios3/conf.d/localhost_nagios2.cfg  添加如下配置
      define service{
              use                             local-service,srv-pnp
              host_name                       localhost
              service_description             check_mem
              check_command                   check_mem!80!90
              }
      Code
    11. 监控服务器网卡流量
      apt-get install snmpd snmp-mibs-downloader
      vi /etc/snmp/snmpd.conf(可备份snmpd.conf,修改下面的localhost-IP为服务器IP,保存此文件即可)
      com2sec notConfigUser 127.0.0.1 public 
      com2sec notConfigUser localhost-IP public 
      
      group notConfigGroup v1 notConfigUser 
      group notConfigGroup v2c notConfigUser 
      
      view systemview included .1.3.6.1.2.1.1 
      view systemview included .1.3.6.1.2.1.2 
      view systemview included .1.3.6.1.2.1.25.1.1 
      view all included .1 
      
      access notConfigGroup "" any noauth exact all none none 
      Code

      重启snmpd服务
      下载check_traffic.sh到插件目录
      cd /usr/lib/nagios/plugins/
      测试执行
      ./check_traffic.sh -V 2c -C public -H your_ip -I 2 -w 1200,1500 -c 1700,1800 -K -B
      # vi /etc/nagios3/conf.d/custom_commond.cfg  追加

      define command{
              command_name    check_traffic
              command_line    $USER1$/check_traffic.sh -V 2c -C public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -M -b
      }
      Code
    12. 当服务停止时重新监控失败,运行以下2行命令
      # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
      # dpkg-statoverride --update --add nagios www-data 751 /var/lib/nagios3

    13. 配置发送邮件功能
      apt-get install ssmtp   (备用:apt-get install sendmail-bin  sendmail)
      修改ssmpt.conf文件配置
      # vi /etc/ssmtp/ssmtp.conf  追加Google邮箱配置方式(勿开启2步验证)
      AuthUser=NagiosAdmin
      AuthPass=PassWord
      FromLineOverride=YES
      mailhub=smtp.gmail.com:587
      UseSTARTTLS=YES
      Code

      service sendmail stop
      chkconfig sendmail off
      cd /usr/sbin
      mv sendmail sendmail.bak
      ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
      测试发邮件即可

    14. 添加被监控机需要注意
      监控其他主机,需要添加check_nrpe命令,但在Debian系统中,添加check_nrpe命令会提示重复,但是却找不到其他地方有配置。
      所以需要将check_nrpe改成其他名
      define command{
              command_name custom_check_nrpe
              command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
              }
      Code

      举例监控客户机的CPU情况
      先添加主机
      # vi /etc/nagios3/conf.d/hosts.cfg 

      define host{
          use                             generic-host               ; Inherit default values from a template
          host_name                       Dow1_Server                  ; The name we're giving to this server
          alias                           DriverServer               ; A longer name for the server
          address                         10.10.0.32            ; IP address of Remote Linux host
      }
      Code

      添加监控服务项,注意使用的命令是自定义的nrpe
      # vi /etc/nagios3/conf.d/custom_services.cfg

      define service{
              use                     generic-service
              host_name               Dow1_Server_198.27.75.32
              service_description     CPU Load
              check_command           custom_check_nrpe!check_load
              }
      Code

      iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT  
      service iptables save
      service iptables restart

  • 相关阅读:
    N个数求和(PTA)
    集合相似度(PTA)
    方格取数(1)(状压dp入门)
    Drainage Ditches(dinic模板)
    The Accomodation of Students(二分图判断+匈牙利算法)
    Gopher II(匈牙利算法模板)
    Apple Tree(树状数组)
    node.js中的文件系统
    canvas简易画板
    canvas绘制爱心的几种方法
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/4638083.html
Copyright © 2011-2022 走看看