天天看點

zabbix監控nginx

前提條件:nginx需要加載--with-http_stub_status_module

/usr/local/webserver/nginx/sbin/nginx -V

nginx version: nginx/1.9.9

built by gcc 4.4.7 20120313 (Red Hat4.4.7-4) (GCC)

configure arguments:--prefix=/usr/local/webserver/nginx --with-http_stub_status_module--with-http_ssl_module --with-pcre=/opt/pcre-8.35

如果發現沒有--with-http_stub_status_module 的監控子產品就需要手動開啟

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module--with-http_ssl_module --with-pcre=/opt/pcre-8.35

make

一、編輯nginx配置檔案

server

{

        listen 80;

        #index index.html;

        server_name 192.168.1.34 127.0.0.1;

        #root /data/www/static;

        location /nginx_status {

            stub_status on;

            access_log off;

            allow 127.0.0.1;

            allow 192.168.0.0/16;

            allow 10.195.1.100;

            deny all;

        }

}

測試:

curl http://127.0.0.1/nginx_status

Active connections: 1 

server accepts handled requests

 10054822 10054822 1313691 

Reading: 0 Writing: 1 Waiting: 0 

二、配置agent檔案

修改

ll /usr/local/zabbix/etc/zabbix_agentd.conf

grep -v "#" zabbix_agentd.conf

Server=192.168.1.100

ServerActive=192.168.1.100

Hostname=192.168.1.34

#自定義腳本

UserParameter=nginx.status[*],/usr/local/zabbix/scripts/nginx_status.sh $1

加載腳本檔案(見附件nginx_status.sh)

賦權限 chmod 755 nginx_status.sh(可能會導緻圖像無法顯示)

測試:如果有輸出說明腳本沒問題了

./nginx_status.sh  handled

10055263

重新開機agent服務

/usr/local/zabbix/sbin/zabbix_agentd

三,上傳監控模闆到zabbix web管理界面,導入模闆

<a href="http://s3.51cto.com/wyfs02/M00/8A/2B/wKiom1gpdaqDqYuGAABSoMBjzuo437.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/8A/2B/wKiom1gpdaqDqYuGAABSoMBjzuo437.png" target="_blank">并添加到主機</a>

四,頁面列印資訊

<a href="http://s4.51cto.com/wyfs02/M00/8A/2B/wKiom1gpdpzxtp_RAAClIYXnawM628.png" target="_blank"></a>

關鍵字解釋:

active connections – 活躍的連接配接數量

server accepts handled requests —總共處理了289個連接配接 , 成功建立289次握手, 總共處理了91個請求

reading — 讀取用戶端的連接配接數.

writing — 響應資料到用戶端的數量

waiting — 開啟 keep-alive 的情況下,這個值等于 active – (reading+writing), 意思就是 Nginx 已經處理完正在等候下一次請求指令的駐留連接配接.

ps:腳本和模闆見附件

      本文轉自衛莊的痛 51CTO部落格,原文連結:http://blog.51cto.com/crfsz/1872715,如需轉載請自行聯系原作者

繼續閱讀