― Web Technology and Life ―

NginxにおけるApacheのserver-status的なやつの設定

2013-10-19
ウェブサーバーのリソース監視用の設定ってNginxだとどうやるのよって話です。

/server-status?autoにアクセスしてリソース監視

Apacheだと、mod_statusってやつを有効にするとかすると、

  • /server-status?autoにアクセスすると、リソース状況が分かる
  • 特定IPからのアクセスのみに限定する

とか設定がさくっとできるのです。とあるApacheのサーバーの/server-status?autoにアクセスした結果が以下。

Total Accesses: 45598
Total kBytes: 869752
CPULoad: .494453
Uptime: 495084
ReqPerSec: .0921015
BytesPerSec: 1798.94
BytesPerReq: 19532.1
BusyWorkers: 6
IdleWorkers: 14
Scoreboard: __W_____RRR_____RR__............................................................................................................................................................................................................................................

これを、Nginxでやるにはどうやるのって話。

stub_statusディレクティブをonに

Nginxでも簡単で、以下のように設定すれば大丈夫です。

   location = /server-status {
       stub_status on; #これがポイント
       access_log off;
       allow xxx.xxx.xxx.xxx;
       deny all;
   }

一応、IP制限とか、アクセスログに残さないとか入れてますがなくてもよかったりですね。

アクセス結果は以下の通り。


Active connections: 6 
server accepts handled requests
 10116 10116 13760 
Reading: 0 Writing: 1 Waiting: 5 

表示違うから、監視システムの該当箇所書き換えなきゃだなー。

NginxのServer-statusの見方

各項目の見方はNginxのHttpStubStatusModuleのwikiを参照。

上のを例にすると以下のように見るらしい。

上の項目

  • Active connections:現在アクティブなコネクション(まんまw,MaxClients的なものではない)
  • accepts : accepts requestが10116
  • handled : handled requestが10116(acceptsとの違いは謎)
  • requests : total requestが13760(今までNginxが扱った数っぽい、再起動したらリセットされる)

下の項目

  • Reading: httpヘッダー読み込み中のコネクション
  • Writing: httpボディ読み込み中,レスポンス制作中のコネクション
  • Waiting: その他のコネクション(Active connections - Reading - Writing)
Nginx update_at : 2013-10-23T12:22:44
hirobanex.netの更新情報の取得
 RSSリーダーで購読する   
blog comments powered by Disqus