1. 程式人生 > >nginx監控之 監控我所需要的

nginx監控之 監控我所需要的

https 方式 後端 ror 日誌 連接數 對比 模塊化 接受

apache和nginx對比

相比 Apache 服務器,Nginx 因其采用的異步非阻塞工作模型,使其具備高並發、低資源消耗的特性,高度模塊化設計使 Nginx 具備很好的擴展性;在處理靜態文件、反向代理請求等方面,Nginx 表現出很大的優勢。

常見的nginx用途

Nginx 可以作為反向代理服務器來轉發用戶請求;並能夠在處理請求的過程中實現後端實例負載均衡,實現分發請求的功能;也可將 Nginx 配置為本地靜態服務器,處理靜態請求。

監控nginx需要的指標

Nginx 處理請求的過程被詳細地記錄在 access.log 以及 error.log 文件中

監控項目 所屬性質 指標
請求時長 服務性質 從發出請求到結束需要的時間$request_time 和 $upstream_response_time
服務存活性 服務性質 nginx是否存活
請求返回錯誤 服務性質 服務器日誌方式錯誤碼4xx和5xx
流量 服務性質 pv 和 流量
服務損耗 服務性質 連接數 打開文件數 cpu使用率和綁定cpu核心的使用率

請求時長

 log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
        ‘$status $body_bytes_sent "$http_referer" ‘
     ‘"$http_user_agent" "$http_x_forwarded_for" "$request_time"  "$upstream_response_time" ‘;
    添加上"$request_time" 和"$upstream_response_time"
這樣在後面顯示請求體和時間,根據自己請求的時長容忍度來實現程序層面的請求接口優化或者緩存

nginx是否存活

 檢查nginx訪問 是否返回值和自己的理想的數據返回是否一致 或者狀態碼是否一致

請求返回錯誤

 必須添加對諸如 500/502/504 等 5xx 服務類錯誤狀態碼的監控,它們告訴我們服務本身出現了問題。
5xx 類錯誤每分鐘出現的頻率應該在個位數,太多的 5xx 應及時排查問題並解決;4xx 類錯誤,在協助解決一些非預期的權限錯誤、資源丟失或性能等問題上可以給予幫助。
例如:
connection refused 用戶請求超時 用戶請求超時
connection timed out nginx與後端服務器連接超時
while connection upstream nginx與後端服務器連接出現問題

流量

可以適當的監控網絡接口的流量

服務損耗

location /nginx-status {
        stub_status on;
        access_log  off;
        allow      10.1.1.1/24;
        deny        all;
    }
    文件打開數:lsof |grep nginx|wc -l
     cpu損耗: 監控cpu的使用率即可
active connection 當前正在處理的活躍連接數
reading 正在讀取的客戶連接數
writing 處理響應數據到客戶端的數量
waiting Nginx等待下次請求的駐留的客戶連接數

技術分享圖片

 第1列:     
 當前與http建立的連接數,包括等待的客戶端連接:   20 
 第2列: 
 接受的客戶端連接總數目:20
 處理的客戶端連接總數目:20
 客戶端總的請求數目:50
 第3列:
 當前,nginx讀請求連接
 當前,nginx寫響應返回給客戶端
 目前有多少空閑客戶端請求連接

nginx監控之 監控我所需要的