Nginx服務狀態監控


  在Nginx的插件模塊中有一個模塊stub_status可以監控Nginx的一些狀態信息,默認安裝可能沒有這個模塊,手動編譯的時候加一下即可。

  1. 模塊安裝

  先使用命令查看是否已經安裝這個模塊:

[root@ihxb123Z nginx]# ./nginx -V (V大寫會顯示版本號和模塊等信息、v小寫僅顯示版本信息。

  如果已經安裝,會在顯示的信息中包含 --with-http_stub_status_module信息。如果沒有此模塊,需要重新安裝,編譯命令如下:

./configure –with-http_stub_status_module

  2. Nginx配置

  安裝后只要修改nginx配置即可,配置如下:

location /hxbcdnstatus {
            stub_status            on;
            access_log             off;
           allow 127.0.0.1;
            deny all;
            #auth_basic              "NginxStatus";
            #auth_basic_user_file  conf/nginxstaus;
}

  此處默認只有本地訪問,如果遠程可以查看需要加相關的IP或者干脆去掉Deny all即可。加密文件可以使用#htpasswd -c /usr/nginx/conf hxb 命令來創建。配置完成后需要重啟Nginx服務。

  狀態配置只能是針對某個Nginx服務。目前Nginx還無法做到針對單個站點進行監控。

  3. 狀態查看

  配置完成后在瀏覽器中輸入http://127.0.0.1/hxbcdnstatus查看,顯示信息如下:

Active connections: 100 
server accepts handled requests
 1075 1064 6253 
Reading: 0 Writing: 5 Waiting: 95 

  4. 參數說明

  active connections – 活躍的連接數量

  server accepts handled requests — 總共處理了107520387個連接 , 成功創建107497834次握手, 總共處理了639121056個請求

  每個連接有三種狀態waiting、reading、writing

  reading —讀取客戶端的Header信息數.這個操作只是讀取頭部信息,讀取完后馬上進入writing狀態,因此時間很短。

  writing — 響應數據到客戶端的Header信息數.這個操作不僅讀取頭部,還要等待服務響應,因此時間比較長。

  waiting — 開啟keep-alive后等候下一次請求指令的駐留連接.

  正常情況下waiting數量是比較多的,並不能說明性能差。反而如果reading+writing數量比較多說明服務並發有問題。

 

  補充:

  查看Nginx並發進程數:ps -ef | grep nginx | wc -l

  查看Web服務器TCP連接狀態:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM