前提條件: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,如需轉載請自行聯系原作者