nagios監控nginx狀態(check_nginx_status.pl)

1、安裝所需組件

   yum install perl perl-devel perl-CPAN bc perl-Time-HiRes 

   perl -MCPAN -eshell  

   cpan> install Bundle::LWP

   編譯安裝nrpe(參考教程:http://2860664.blog.51cto.com/2850664/1559056



以下是被監控端設置

2、下載check_nginx_status.pl腳本

   下載地址:https://codeload.github.com/regilero/check_nginx_status/zip/master

   解壓文件後,上傳check_nginx_status.pl到/usr/local/nagios/libexec

   chmod +x check_nginx_status.pl

   chown nagios.nagcmd check_nginx_status.pl

3、vi /usr/local/nginx/conf/nginx.conf  在需要監控的虛擬主機下加入

   

location /nginx_status {
      stub_status on;
      allow 192.168.1.247;
      access_log   off;
    }

3、在被監控端測試腳本

   cd /usr/local/nagios/libexec

   ./check_nginx_status.pl -H 192.168.1.247 -s www.xxx.com -P 80

NGINX OK -  0.067 sec. response time, Active: 1 (Writing: 1 Reading: 0 Waiting: 0) ReqPerSec: 0.111 ConnPerSec: 0.111 ReqPerConn: 1.000|Writing=1;;;; Reading=0;;;; Waiting=0;;;; Active=1;;;; ReqPerSec=0.111111;;;; ConnPerSec=0.111111;;;; ReqPerConn=1.000000;;;;

   其中紅色爲nginx服務器的IP地址;綠色爲需要監控的網站網址。

4、vi /usr/local/nagios/etc/nrpe.cfg  添加

command[check_nginx]=/usr/local/nagios/libexec/check_nginx_status.pl -H 192.168.1.247 -s www.xxx.com -P 80

5、刪除/tmp生成的192.168.1.247_check_nginx_status8d727909e5ace94dc547c3af50af6cb9不然後面後報錯!提示無法生成文件。

   rm /tmp/192.168.1.247_check_nginx_status8d727909e5ace94dc547c3af50af6cb9

   

以下是nagios主機的設置

5、服務器端測試

   /usr/local/nagios/libexec/check_nrpe -H 192.168.1.247 -c check_nginx

NGINX OK -  0.065 sec. response time, Active: 1 (Writing: 1 Reading: 0 Waiting: 0) ReqPerSec: 0.020 ConnPerSec: 0.020 ReqPerConn: 1.000|Writing=1;;;; Reading=0;;;; Waiting=0;;;; Active=1;;;; ReqPerSec=0.020000;;;; ConnPerSec=0.020000;;;; ReqPerConn=1.000000;;;;


vi /usr/local/nagios/etc/nagios.cfg  添加

   cfg_file=/usr/local/nagios/etc/objects/nginx.cfg

6、touch /usr/local/nagios/etc/objects/nginx.cfg

   vi /usr/local/nagios/etc/objects/nginx.cfg  (注意修改被監控端的IP)內容如下  

****************************************我是分割線************************************   

define host{
           use             linux-server
          host_name     nginx
          alias         nginx
          address       被監控端IP
        }
define service{
        use                      generic-service
        host_name             nginx
        service_description     check-swap
        check_command        check_nrpe!check_swap
               }
define service{
        use                      generic-service
        host_name             nginx
        service_description     check-load
       check_command         check_nrpe!check_load
               }
define service{
        use                      generic-service
        host_name             nginx
       service_description     check-disk
       check_command        check_nrpe!check_sda1
               }
define service{
        use                      generic-service
        host_name             nginx
       service_description     check-users
       check_command        check_nrpe!check_users
               }
define service{
        use                    generic-service
        host_name           nginx
        service_description  otal_procs
        check_command     check_nrpe!check_total_procs
}
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       nginx
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }
define service{
    use                     generic-service
    host_name               nginx
    service_description     nginx_status
    check_command           check_nrpe!check_nginx!
        notifications_enabled           0
        }

****************************************我也是分割線************************************

報錯信息

7、nagios服務器報錯

NGINX UNKNOWN - unable to write temporary data in:/tmp/192.168.1.247_check_nginx_status8d727909e5ace94dc547c3af50af6cb9

解決方法:刪除被監控主機/tmp下的文件192.168.1.247_check_nginx_status8d727909e5ace94dc547c3af50af6cb9

   rm /tmp/192.168.1.247_check_nginx_status8d727909e5ace94dc547c3af50af6cb9

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章