好久沒有寫博客了,今天遇到個麻煩事,網站的訪問量忽然加大,監控報警是把個人機房帶寬所有跑滿了,最後把硬件防火牆的策略改動以後才恢復正常。而後負責人要關於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