Nginx中Stub-Status監(jiān)控當前的并發(fā)連接數(shù)
在 Nginx 中,Stub-Status 是一個輕量級的內(nèi)置模塊(需編譯時啟用),用于暴露基本的運行時連接狀態(tài),其中就包括當前活躍的并發(fā)連接數(shù)。它不依賴外部工具,適合快速查看實時連接情況。
確認 stub_status 模塊已啟用
Nginx 默認可能未啟用 ngx_http_stub_status_module??赏ㄟ^以下命令驗證:
nginx -V 2>&1 | grep -o with-http_stub_status_module
若無輸出,說明模塊未編譯進 Nginx,需重新編譯并添加 --with-http_stub_status_module 參數(shù)。
配置 stub_status 接口位置
在任意 server 塊(推薦使用本地訪問的專用 location)中添加如下配置:
location /nginx-status {
stub_status on;
access_log off;
allow 127.0.0.1; # 僅允許本機訪問
deny all;
}解析 stub_status 返回內(nèi)容
訪問 http://127.0.0.1/nginx-status(需 curl 或瀏覽器,且滿足 allow 規(guī)則),返回類似:
Active connections: 12 server accepts handled requests 1568 1568 2452 Reading: 0 Writing: 3 Waiting: 9
- Active connections:當前所有活躍連接數(shù)(即你關(guān)心的“并發(fā)連接數(shù)”),包含正在讀、寫、等待的連接
- Reading:Nginx 正在讀取客戶端請求頭的連接數(shù)
- Writing:Nginx 正在向客戶端發(fā)送響應(yīng)的連接數(shù)
- Waiting:處于 keep-alive 狀態(tài)、空閑等待新請求的連接數(shù)(屬于 Active 的一部分)
三者關(guān)系為:Active = Reading + Writing + Waiting。
結(jié)合腳本或監(jiān)控系統(tǒng)采集
可使用簡單命令提取并發(fā)數(shù),例如:
curl -s http://127.0.0.1/nginx-status | awk '/Active connections/ {print $3}'
將該命令接入 Prometheus(通過 nginx-exporter 更穩(wěn)妥)、Zabbix 或自建定時腳本,即可實現(xiàn)持續(xù)跟蹤與告警。
到此這篇關(guān)于Nginx中Stub-Status監(jiān)控當前的并發(fā)連接數(shù)的文章就介紹到這了,更多相關(guān)Nginx Stub-Status監(jiān)控并發(fā)連接數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx隱藏index.php和Pathinfo模式配置例子
這篇文章主要介紹了Nginx隱藏index.php和Pathinfo模式配置例子,需要的朋友可以參考下2014-04-04
Nginx配置統(tǒng)計流量帶寬請求及記錄實時請求狀態(tài)的方法
這篇文章主要介紹了Nginx中配置統(tǒng)計流量帶寬請求及記錄實時請求狀態(tài)的方法,分別用到了ngx_req_status和ngx_realtime_request模塊,需要的朋友可以參考下2016-01-01

