時間:2023-07-14 12:12:01 | 來源:網(wǎng)站運營
時間:2023-07-14 12:12:01 來源:網(wǎng)站運營
Nginx虛擬主機流量狀態(tài)模塊(nginx-module-vts)使用說明文檔(一):前面的博文Nginx安裝,開箱即用?講了NG的安裝。裝完NG,為了拿到各種狀態(tài)指標(biāo),就要對NG做監(jiān)控。 Github 2.3k的開源項目nginx-module-vts沒準(zhǔn)真是你需求的。 鏈接數(shù),qps,1xx、2xx,、3xx、4xx、5xx的響應(yīng)數(shù),響應(yīng)耗時,響應(yīng)時間分布,訪問用戶國家分布;甚至是基于各種狀態(tài)的流量控制統(tǒng)統(tǒng)能滿足你的需求。 nginx-module-vts具體怎么用?我們還是從官方文檔開始擼吧,還是英文的,那就翻譯一下吧。 內(nèi)容有點長,你看到的文檔會四篇文檔的方式分別出現(xiàn)。這里是第一篇,余下的三篇會在后面分別發(fā)出。
shell> git clone git://github.com/vozlt/nginx-module-vts.git
--add-module=/path/to/nginx-module-vts
將該模塊添加到構(gòu)建配置中http { vhost_traffic_status_zone; ... server { ... location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } }}
vhost_traffic_status_zone
是必需的,如果指令vhost_traffic_status_display
被設(shè)置,可以通過下方式訪問:/status/format/json
將用一個包含當(dāng)前活動數(shù)據(jù)的json文檔進(jìn)行響應(yīng),以便在實時儀表板和三方監(jiān)視工具中使用。/status/format/html
將會用一個內(nèi)置的內(nèi)置的html儀表板網(wǎng)頁進(jìn)行響應(yīng),該儀表盤的內(nèi)部請求走/status/format/json
。/status/format/jsonp
將用一個jsonp回調(diào)函數(shù)進(jìn)行響應(yīng),該函數(shù)包含用于實時儀表板和三方監(jiān)視工具的當(dāng)前活動數(shù)據(jù)。/status/format/prometheus
將用包含當(dāng)前活動數(shù)據(jù)的prometheus文檔來響應(yīng)。/status/control
將返回基于查詢語句字符串重置或刪除區(qū)域后的JSON文檔。更多可以參考Control.{ "hostName": ..., "nginxVersion": ..., "loadMsec": ..., "nowMsec": ..., "connections": { "active":..., "reading":..., "writing":..., "waiting":..., "accepted":..., "handled":..., "requests":... }, "sharedZones": { "name":..., "maxSize":..., "usedSize":..., "usedNode":... }, "serverZones": { "...":{ "requestCounter":..., "inBytes":..., "outBytes":..., "responses":{ "1xx":..., "2xx":..., "3xx":..., "4xx":..., "5xx":..., "miss":..., "bypass":..., "expired":..., "stale":..., "updating":..., "revalidated":..., "hit":..., "scarce":... }, "requestMsecCounter":..., "requestMsec":..., "requestMsecs":{ "times":[...], "msecs":[...] }, "requestBuckets":{ "msecs":[...], "counters":[...] }, } ... }, "filterZones": { "...":{ "...":{ "requestCounter":..., "inBytes":..., "outBytes":..., "responses":{ "1xx":..., "2xx":..., "3xx":..., "4xx":..., "5xx":..., "miss":..., "bypass":..., "expired":..., "stale":..., "updating":..., "revalidated":..., "hit":..., "scarce":... }, "requestMsecCounter":..., "requestMsec":..., "requestMsecs":{ "times":[...], "msecs":[...] }, "requestBuckets":{ "msecs":[...], "counters":[...] }, }, ... }, ... }, "upstreamZones": { "...":[ { "server":..., "requestCounter":..., "inBytes":..., "outBytes":..., "responses":{ "1xx":..., "2xx":..., "3xx":..., "4xx":..., "5xx":... }, "requestMsecCounter":..., "requestMsec":..., "requestMsecs":{ "times":[...], "msecs":[...] }, "requestBuckets":{ "msecs":[...], "counters":[...] }, "responseMsecCounter":..., "responseMsec":..., "responseMsecs":{ "times":[...], "msecs":[...] }, "responseBuckets":{ "msecs":[...], "counters":[...] }, "weight":..., "maxFails":..., "failTimeout":..., "backup":..., "down":... } ... ], ... } "cacheZones": { "...":{ "maxSize":..., "usedSize":..., "inBytes":..., "outBytes":..., "responses":{ "miss":..., "bypass":..., "expired":..., "stale":..., "updating":..., "revalidated":..., "hit":..., "scarce":... } }, ... }}
vhost_traffic_status_filter_by_set_key
指令過濾統(tǒng)計的server的流量(輸入/輸出),請求和響應(yīng)計數(shù)以及緩存命中率。vhost_traffic_status_filter_by_set_key
指令過濾。overCounts
對象主要用于32位系統(tǒng),如果其值溢出,則將遞增1。使用指令vhost_traffic_status_display_format
設(shè)置默認(rèn)的輸出格式,即json、jsonp、html、prometheus之一。(默認(rèn)值為json)注意:
此模塊依賴于nginx日志記錄系統(tǒng)(NGX_HTTP_LOG_PHASE:nginx http的最后階段),因此流量可能在某些情況下和實際帶寬流量會有所不同。 Websocket以及取消的下載可能是造成差異的原因。 無論access_log指令是on
還是off
,模塊的工作都沒有關(guān)系。 同樣,此模塊在access_log off
時也可以正常工作。 當(dāng)使用多個域時,它將設(shè)置為server_name指令的第一個域(左側(cè))。 如果不需要,請參見vhost_traffic_status_filter_by_host, vhost_traffic_status_filter_by_set_key指令。stream
流量統(tǒng)計信息請參見以下模塊: nginx-module-sts nginx-module-stream-sts關(guān)鍵詞:使用,虛擬,主機,流量,狀態(tài)
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。