標籤:
一、環境說明
OS:centos6.7 x64
nginx:nginx/1.9.9
ZABBIX:2.4.8
zabbix監控nginx是根據nginx的stub_status模組,抓取status模組所提供的資料。
如果要開啟stub_status模組就需要在編譯時間,添加 --with-http_stub_status_module 參數。
二、修改nginx設定檔
[[email protected] sbin]# cd /usr/local/nginx/conf/[[email protected] conf]# vim nginx.conf 68 location /nginx-status { 69 stub_status on; 70 access_log off; 71 allow 127.0.0.1; 72 allow 192.168.2.70; 73 allow 192.168.2.12; 74 deny all; 75 }
:wq
[[email protected] conf]# service nginx restart
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
[[email protected] conf]# curl 192.168.2.12/nginx-status
Active connections: 2
server accepts handled requests
14 14 17
Reading: 0 Writing: 1 Waiting: 1
nginx Status 說明:
Active connections: 對後端發起的活動串連數。
server accepts handled requests
14 14 17 nginx 總共處理了14個串連,成功建立了14次握手,總共處理了17請求。
Reading: 0 Writing: 1 Waiting: 1 Reading: nginx 讀取用戶端的header數, Writing: nginx 返回給用戶端的header數, Waiting: nginx 請求處理完成,正在等待下一 請求指令的串連數。
三、在agentd上編寫監控nginx的指令碼,並且設定屬主和屬組為zabbix,賦予執行許可權
[[email protected] zabbix-2.4.8]# mkdir /usr/local/zabbix-2.4.8/scripts/
指令碼和模板地址:連結:http://pan.baidu.com/s/1b0Hm02 密碼:631h
將指令碼上傳至 /usr/local/zabbix-2.4.8/scripts/
[[email protected] scripts]# chown zabbix:zabbix nginx_status.sh [[email protected] scripts]# chmod +x nginx_status.sh
修改zabbix_agentd.conf設定檔(必須一致性)
[[email protected] scripts]# grep -v ^# /usr/local/zabbix-2.4.8/etc/zabbix_agentd.conf | grep -v ^$LogFile=/tmp/zabbix_agentd.log
Server=192.168.2.70
ListenPort=10050
ListenIP=192.168.2.12
ServerActive=192.168.2.70:10051
Hostname=192.168.2.12
UnsafeUserParameters=1
UserParameter=nginx.accepts,/usr/local/zabbix-2.4.8/scripts/nginx_status.sh accepts
UserParameter=nginx.handled,/usr/local/zabbix-2.4.8/scripts/nginx_status.sh handled
UserParameter=nginx.requests,/usr/local/zabbix-2.4.8/scripts/nginx_status.sh requests
UserParameter=nginx.connections.active,/usr/local/zabbix-2.4.8/scripts/nginx_status.sh active
UserParameter=nginx.connections.reading,/usr/local/zabbix-2.4.8/scripts/nginx_status.sh reading
UserParameter=nginx.connections.writing,/usr/local/zabbix-2.4.8/scripts/nginx_status.sh writing
UserParameter=nginx.connections.waiting,/usr/local/zabbix-2.4.8/scripts/nginx_status.sh waiting
在zabbix_server 端進行zabbix_get測試,取到資料了,說明沒問題。
[[email protected] bin]# ./zabbix_get -s 192.168.2.12 -p 10050 -k "nginx.requests"419
[[email protected] bin]# ./zabbix_get -s 192.168.2.12 -p 10050 -k "nginx.connections.active"
1
匯入剛才解壓包的模板並添加到該nginx伺服器。
等會資料會有了。
zabbix監控nginx完畢。
【 Zabbix 】— 監控nginx