zabbix監控nginx狀態

記錄一下使用zabbix監控nginx狀態,關於這方面的網上大把大把的。
nginx

操做環境版本後端

zabbix-agent:3.0.3bash

zabbix-server:3.0.3curl


一、修改nginx配置文件,內容示例以下
ide

# sed -n '13,18p' default.conf
    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }

注:只容許127.0.0.1,拒絕其餘便可url


二、nginx監控腳本內容以下spa

# cat nginx_status.sh 
#!/bin/bash
#check nginx status
ip=127.0.0.1
port=80
#echo $ip:$port
function active()  {
    /usr/bin/curl http://$ip:$port/nginx_status 2>/dev/null|grep "Active"|awk '{print $NF}'
                   }
 
function reading() {
    /usr/bin/curl http://$ip:$port/nginx_status 2>/dev/null|grep "Reading"|awk '{print $2}'
                   }
 
function writing() {
    /usr/bin/curl http://$ip:$port/nginx_status 2>/dev/null|grep "Writing"|awk '{print $4}'
                   }
 
function waiting() {
 
    /usr/bin/curl http://$ip:$port/nginx_status 2>/dev/null|grep "Waiting"|awk '{print $6}'
                   }
 
function accepts() {
    /usr/bin/curl http://$ip:$port/nginx_status 2>/dev/null|awk 'NR==3{print $1}'   
                   
                   }
 
function handled() {
        
    /usr/bin/curl http://$ip:$port/nginx_status 2>/dev/null|awk 'NR==3{print $2}'   
                   }
 
function requests(){
 
    /usr/bin/curl http://$ip:$port/nginx_status 2>/dev/null|awk 'NR==3{print $3}'   
                   }
 
case $1 in
   active)
          active
        ;;
  reading)
         reading
        ;;
  writing)
          writing
        ;;
  waiting)
          waiting
        ;;
  accepts)
          accepts
        ;;
  handled)
          handled
        ;;
  requests)
          requests
        ;;
       *)
          exit 1
        ;;
esac

賦予執行權限便可chmod +x  nginx_status.sh 3d


三、userparameter配置文件rest

# cat userparameter_nginx.conf 
UserParameter=nginx[*],/bin/bash /etc/zabbix/scripts/nginx_status.sh $1


四、修改zabbix-agentd配置文件,而後重啓服務便可。吧UnsafeUserParameters修改成1便可。orm

# grep -i unsafe zabbix_agentd.conf 
### Option: UnsafeUserParameters
UnsafeUserParameters=1
# systemctl restart zabbix-agent.service



五、導入模板,而後在相應的主機上鍊接此模板便可

wKiom1d9m3KCjRnJAABv2fUZeLA491.png-wh_50


wKioL1d9nImhQQWNAADnvg8_34Q399.png-wh_50


稍等片刻能夠看到已經有數據顯示了。。。

nginx Status 說明:

Activeconnections:對後端發起的活動鏈接數;

server accepts 7520:nginx 總共處理了7520個鏈接;

handled:成功建立了7520次握手;

requests:總共處理了7522請求。

Reading:讀取客戶端的鏈接數

Writing: 響應數據到客戶端的數量

Waiting: 開啓 keep-alive 的狀況下,這個值等於 active – (reading+writing), 意思就是 Nginx 已經處理完正在等候下一次請求指令的駐留鏈接.

相關文章
相關標籤/搜索