zabbix 監控nginx狀態:

   好久沒有寫博客了,今天遇到個麻煩事,網站的訪問量忽然加大,監控報警是把個人機房帶寬所有跑滿了,最後把硬件防火牆的策略改動以後才恢復正常。而後負責人要關於nginx網站,和帶寬的狀態,因而就想起要作這個了,主要是監控nginx的一些連接狀態:html

一、首先開啓nginx_status模塊監控功能:python

server {
        listen      8067;
        server_name localhost; 
        root       html; 
        index  index.html;
        access_log off;
        location /status {
          stub_status on;
        }
}

二、測試:nginx

[root@WEB_007 vhosts]# curl http://192.168.10.7:8067/status
Active connections: 3 
server accepts handled requests
 1305214152 1305214152 1305204005 
Reading: 0 Writing: 3 Waiting: 0

三、編寫腳本過濾數據:(zabbix主要有數據就能出圖):bash

[root@WEB_007 vhosts]# cat /usr/local/zabbix/scripts/nginx_status 
#!/bin/bash  
# Script to fetch nginx statuses for tribily monitoring systems  
# Author: xiaoluo
# License: GPLv2 
 
function active {  
/usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Active' | awk '{print $NF}'  
} 
function reading {  
/usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Reading' | awk '{print $2}'  
} 
function writing {  
/usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Writing' | awk '{print $4}'  
} 
function waiting {  
/usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'  
} 
function accepts {  
/usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| awk NR==3 | awk '{print $1}'  
} 
function handled {  
/usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| awk NR==3 | awk '{print $2}'  
} 
function requests {  
/usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| awk NR==3 | awk '{print $3}'  
} 
# Run the requested function  
$1

四、開啓zabbix腳本功能、我如今是習慣把執行的key,放在另外一個路徑下,之後文件多了好區分,你們應該也建議這麼作:curl

[root@WEB_007 zabbix_agentd.conf.d]# vi /usr/local/zabbix/etc/zabbix_agentd.conf 
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@WEB_007 zabbix_agentd.conf.d]#cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@WEB_007 zabbix_agentd.conf.d]#vi nginx
#monitor nginx
UserParameter=nginx[*],/usr/local/zabbix/scripts/nginx_status $1

五、導入模板:模塊在個人附件能夠本身下載:ide

這裏演示,在那個時候我第一次製做,因此忘記添加圖形了,你們能夠本身根據模板添加圖形,還有觸發器我也沒有建立,你們根據本身的須要進行建立
測試

六、圖形查看效果:fetch

wKioL1VIjw-wE_NFAAWNK4_UNvM835.jpg    總結:zabbix能夠很好的根據應用來進行監控,還很強大,慢慢研究網站

相關文章
相關標籤/搜索