原理:zabbix監(jiān)控nginx是根據(jù)nginx的Stub Status模塊,抓取Stub Status提供nginx的數(shù)據(jù),然后拆分
首先要檢查一下nginx 是否安裝http_stub_status_module
rpm安裝的用以下命令檢查
- nginx -V
源碼安裝的用以下命令檢查
- /usr/local/nginx/sbin/nginx -V
我這里是rpm安裝的,請(qǐng)看圖

如果沒(méi)有安裝,網(wǎng)上找一下nginx平滑添加模塊
agent機(jī)子開始配置nginx_status
nginx添加配置
- vi /usr/local/nginx/conf/nginx.conf
- location /nginx_status
- {
- stub_status on;
- access_log off;
- allow 127.0.0.1;
- allow 192.168.171.22; #(zabbix服務(wù)器的IP地址,一般是內(nèi)網(wǎng)地址,當(dāng)然也可以不加)
- deny all;
- }
把上面的代碼放帶可以ip訪問(wèn)的server里
我的nginx直接有這個(gè)代碼不用修改
用ip訪問(wèn)一下
http://192.168.171.22/nginx_status
看我的訪問(wèn)結(jié)果

解釋一下上面的結(jié)果
Active connections: 2 #對(duì)后端發(fā)起的活動(dòng)連接數(shù)
server accepts #nginx 總共處理了23個(gè)連接
handled #成功創(chuàng)建了23次握手
requests #總共處理了120請(qǐng)求
Reading:0 #nginx讀取客戶端的header數(shù)
Writing: 1 #nginx 返回給客戶端的header數(shù)
Waiting: 1 #nginx 請(qǐng)求處理完成,正在等待下一請(qǐng)求指令的連接
添加agentd監(jiān)控nginx的腳本
腳本的內(nèi)容就是訪問(wèn)http://192.168.171.22/nginx_status的結(jié)果拆分
腳本內(nèi)容我共享出來(lái)
nginx_status.sh
這個(gè)腳本我放到了/etc/zabbix/scripts/目錄下
nginx_status.conf
放到agent的配置目錄下,也可以放到agent配置文件里
我放到/etc/zabbix/zabbix_agentd.d目錄里(推薦)
也可以放到 /etc/zabbix/zabbix_agentd.conf
在服務(wù)端測(cè)試一下
- zabbix_get -s 192.168.171.22 -k custom.nginx.connections.waiting
發(fā)現(xiàn)ZBX_NOTSUPPORTED: Unsupported item key.的錯(cuò)誤

打開
vi /etc/zabbix/zabbix_agentd.conf
把參數(shù)UnsafeUserParameters修改成1
UnsafeUserParameters=1
重啟一下agent服務(wù)器
- service zabbix-agent restart
在執(zhí)行
- zabbix_get -s 192.168.171.22 -k custom.nginx.connections.waiting
發(fā)現(xiàn)
sh: /etc/zabbix/scripts/nginx_status.sh: 權(quán)限不夠

修改一下nginx_status.sh的權(quán)限
- chmod 755 /etc/zabbix/scripts/nginx_status.sh
在測(cè)試一下就成功了
模板導(dǎo)入到zabbix web端
zabbix_template.xml

然后使用這個(gè)模板


監(jiān)控圖

如果不清楚請(qǐng)加群
QQ交流群:136351212如無(wú)特別說(shuō)明,本站文章皆為原創(chuàng),若要轉(zhuǎn)載,務(wù)必請(qǐng)注明以下原文信息: 轉(zhuǎn)載保留版權(quán):小松博客?
zabbix 監(jiān)控nginx菜鳥版
本文鏈接地址:http://www./2063.html
|