標籤:nagios check_nginx 監控nginx
1、安裝所需組件
yum install perl perl-devel perl-CPAN bc -y
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、在被監控端測試指令碼
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
本文出自 “linux相關分享” 部落格,請務必保留此出處http://2860664.blog.51cto.com/2850664/1564225
nagios監控nginx狀態(check_nginx_status.pl)