Zabbix監控Nginx

來源:互聯網
上載者:User
Zabbix監控Nginx

在添加監控之前,必須要強調的是,Nginx必須支援stub_status狀態的訪問,不然一切都是空談!!!

首先zabbix監控nginx 是根據nginx的Stub Status模組,抓取Status模組所提供的資料。如果想啟用Stub Status模組,在編譯nginx的時候要加上參數 --with-http_stub_status_module例如:./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module--with-http_ssl_module
在Nginx配置檔中添加:     location /nginx_status {                stub_status on;                access_log   off;                }

一、建立監控Nginx的key

  • nginx_status_key
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx_status_keyUserParameter=nginx.accepts,/usr/local/zabbix/shell/nginx_status.sh accepts UserParameter=nginx.handled,/usr/local/zabbix/shell/nginx_status.sh handled UserParameter=nginx.requests,/usr/local/zabbix/shell/nginx_status.sh requests UserParameter=nginx.connections.active,/usr/local/zabbix/shell/nginx_status.sh active UserParameter=nginx.connections.reading,/usr/local/zabbix/shell/nginx_status.sh reading UserParameter=nginx.connections.writing,/usr/local/zabbix/shell/nginx_status.sh writing UserParameter=nginx.connections.waiting,/usr/local/zabbix/shell/nginx_status.sh waiting

二、建立監控Nginx的指令碼(記得加執行許可權)

  • nginx_status.sh
vim /usr/local/zabbix/shell/nginx_status.sh#!/bin/bash # Script to fetch nginx statuses for tribily monitoring systems # License: GPLv4 # Set Variables BKUP_DATE=`/bin/date +%Y%m%d` LOG="/usr/local/zabbix/logs/nginx_status.log"HOST="192.168.0.217"        #HOST非常重要,確保CURL能訪問到這個IP地址的StatusPORT="80"# Functions to return nginx stats functionactive {    /usr/bin/curl "http://$HOST:$PORT/nginx_status"2>/dev/null| grep 'Active' | awk '{print $NF}'    }     functionreading {    /usr/bin/curl "http://$HOST:$PORT/nginx_status"2>/dev/null| grep 'Reading' | awk '{print $2}'    }     functionwriting {    /usr/bin/curl "http://$HOST:$PORT/nginx_status"2>/dev/null| grep 'Writing' | awk '{print $4}'    }     functionwaiting {    /usr/bin/curl "http://$HOST:$PORT/nginx_status"2>/dev/null| grep 'Waiting' | awk '{print $6}'    }     functionaccepts {    /usr/bin/curl "http://$HOST:$PORT/nginx_status"2>/dev/null| awk NR==3 | awk '{print $1}'    }     functionhandled {    /usr/bin/curl "http://$HOST:$PORT/nginx_status"2>/dev/null| awk NR==3 | awk '{print $2}'    }       functionrequests {    /usr/bin/curl "http://$HOST:$PORT/nginx_status"2>/dev/null| awk NR==3 | awk '{print $3}'    } # Run the requested function$1

三、在Zabbix Web介面中建立Templates App Nginx模版
(1)、先建立三個item,這個store value要求是每秒變化的

  • nginx.accepts
  • nginx.handled
  • nginx.requests
我在這邊做一個樣本:模版中添加一個nginx.accepts的itemName                nginx.accepts  Type                Zabbix agentKey                 nginx.acceptsTypeof information Numeric (unsigned)Data Type           DecimalUnits               空Store value         Detal (speed per second)Show  value         As is

(2)、而後四個item Store value是不變的

  • nginx.connections.active
  • nginx.connections.reading
  • nginx.connections.writing
  • nginx.connections.waiting
Name                nginx.connections.activeType                Zabbix agentKey                 nginx.acceptsTypeof information Numeric (unsigned)Data Type           DecimalUnits               空Store value         As isShow  value         As is

建立完大概是這個樣子,相信新手也能做出來!!!

四、現在點擊要Tempates的Graphs,分別建立兩個Graphs

監控Nginx(nginx.accepts、nginx.handled、nginx.requests)監控Nginx(nginx.connections.active、nginx.connections.reading、nginx.connections.writing、nginx.connections.waiting)

映像1:暫且取名為 Nginx_Interactive

映像2:暫且取名為 Nginx_Connection

五、Hosts-Templates-將剛才建立的Templates App Nginx連結到主機上面
完成之後大概是這個樣子

六、在Screen中建立監控Nginx的Screen,將前面建立的兩個映像添加進去

七、這時候在Zabbix Web頁面中查看Nginx狀態就OK~~~

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

以上就介紹了 Zabbix監控Nginx,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.