2016年9月20日 星期二

在 CentOS7/RHEL7 上安裝 Nagios (for Apache)

設定提要:
  • 利用 Nagios 即時監控系統資源運作情形!
  • 利用 Apache 作為 Web 平台!可參考這一篇,安裝 LAMP 平台!
Server 端(監控端)快速設定流程:
  1. 利用 yum 進行 EPEL 套件安裝升級:
    #yum udpate epel-release
    
  2. 安裝 Nagios 與 Plugin 套件:
    #yum install nagios nagios-plugins-* httpd-tools
    
  3. 編寫相關 Nagios 的設定檔:
    # vim /etc/httpd/conf.d/nagios.conf
    (增加下列設定:)
    Require ip 127.0.0.1 192.168.100.0/24
    
  4. 設定 Web 帳密驗證:
    #htpasswd /etc/nagios/passwd nagiosadmin
    
  5. 起動 Nagios :
    #systemctl enable nagios
    #systemctl start nagios
    #systemctl restart httpd
    
  6. 利用 firefox ,連到網頁: http://自己的IP/nagios ,即可看見網頁!
Client 端(被監控端)快速設定流程:
  1. 在 Client 端主機上,利用 yum 進行 EPEL 套件安裝升級:
    #yum udpate epel-release
    
  2. 在 Client 端主機上,安裝 NRPE 與 Plugin 套件:
    #yum install nrpe nagios-plugins-*
    
  3. 在 Client 端主機上,編寫相關 NRPE 的設定檔:
    # vim /etc/nagios/nrpe.cfg
    (增加下列設定:)
    allowed_hosts=127.0.0.1,192.168.100.250
    dont_blame_nrpe=1
    command[check_users]=/usr/lib64/nagios/plugins/check_users -w $ARG1$ -c $ARG2$
    command[check_load]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
    command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
    command[check_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
    
  4. 在 Client 端主機上,起動 NRPE :
    #systemctl enable nrpe
    #systemctl start nrpe
    
  5. 在 Client 端主機上,打開防火牆設定:
    #firewall-cmd --add-port=5666/tcp --permanent
    #firewall-cmd --reload
    
  6. 在 Server 端主機上,安裝 Nagios 的 NRPE Plugin 套件:
    #yum install nagios-plugins-nrpe
    
  7. 在 Server 端主機上,修改 Nagios 相關設定:
    #vim /etc/nagios/objects/commands.cfg
    (在檔尾加入下列設定:)
    define command{
            command_name check_nrpe
            command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
    }
    
  8. 在 Server 端主機上,編寫被監控端的監控設定:
    #vim /etc/nagios/conf.d/node01.cfg
    
    define host{
        use                    linux-server
        host_name              node01
        alias                  node01
        address                192.168.100.1
        }
    define service{
        use                    generic-service
        host_name              node01
        service_description    PING
        check_command          check_ping!100.0,20%!500.0,60%
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Root Partition
        check_command          check_nrpe!check_disk\!20%\!10%\!/
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Current Users
        check_command          check_nrpe!check_users\!20\!50
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Total Processes
        check_command          check_nrpe!check_procs\!250\!400\!RSZDT
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Current Load
        check_command          check_nrpe!check_load\!5.0,4.0,3.0\!10.0,6.0,4.0
        }
    
  9. 在 Server 端主機上,重新起動 Nagios :
    #systemctl restart nagios
    
參考文獻:
  • https://www.server-world.info/en/note?os=CentOS_7&p=nagios&f=1