ngx_http_status_module モジュール
設定例 ディレクティブ status status_format status_zone データ 互換性 |
ngx_http_status_module
モジュールは様々な状況の情報へのアクセスを提供します。
このモジュールは、商用サブスクリプションの一部として1.13.10まで利用可能でした。1.13.3では、ngx_http_api_moduleモジュールに置き換えられました。
設定例
http { upstream backend { zone http_backend 64k; server backend1.example.com weight=5; server backend2.example.com; } proxy_cache_path /data/nginx/cache_backend keys_zone=cache_backend:10m; server { server_name backend.example.com; location / { proxy_pass http://backend; proxy_cache cache_backend; health_check; } status_zone server_backend; } server { listen 127.0.0.1; location /upstream_conf { upstream_conf; } location /status { status; } location = /status.html { } } } stream { upstream backend { zone stream_backend 64k; server backend1.example.com:12345 weight=5; server backend2.example.com:12345; } server { listen 127.0.0.1:12345; proxy_pass backend; status_zone server_backend; health_check; } }
この設定でのstatusリクエストの例:
http://127.0.0.1/status http://127.0.0.1/status/nginx_version http://127.0.0.1/status/caches/cache_backend http://127.0.0.1/status/upstreams http://127.0.0.1/status/upstreams/backend http://127.0.0.1/status/upstreams/backend/peers/1 http://127.0.0.1/status/upstreams/backend/peers/1/weight http://127.0.0.1/status/stream http://127.0.0.1/status/stream/upstreams http://127.0.0.1/status/stream/upstreams/backend http://127.0.0.1/status/stream/upstreams/backend/peers/1 http://127.0.0.1/status/stream/upstreams/backend/peers/1/weight
単純な監視ページはこの配布物の中でも出荷されており、デフォルトの設定で"/status.html
"でアクセス可能です。上のように設定されるには、"/status
"および"/status.html
"の場所が必要です。
ディレクティブ
構文: |
status; |
---|---|
デフォルト: | - |
コンテキスト: |
場所 |
状況の情報は取り囲んでいるlocationからアクセス可能でしょう。このlocationへのアクセスは制限されなければなりません。
構文: |
status_format status_format |
---|---|
デフォルト: |
status_format json; |
コンテキスト: |
http , server , location |
デフォルトでは、状況の情報はJSON形式で出力されます。
あるいは、日付はJSONPとして出力されるかも知れません。callback
パラメータはコールバック関数の名前を指定します。パラメータの値には変数を含めることができます。もしパラメータが省略されたり、計算された値が空の文字列の場合には、"ngx_status_jsonp_callback
"が使われます。
構文: |
status_zone |
---|---|
デフォルト: | - |
コンテキスト: |
server |
指定されたzone
の 仮想httpあるいはstream (1.7.11) サーバステータス情報のコレクションを有効にします。幾つかのサーバは同じzoneを共有するかも知れません。
データ
次の状況情報が提供されます:
バージョン
- 提供されたデータセットのバージョン現在のバージョンは8です。
nginx_version
- nginxのバージョン。
nginx_build
- nginxビルド名。
address
- ステータスのリクエストを受け付けたサーバのアドレス。
generation
- 設定のreloads の総回数。
load_timestamp
- 最後に設定をリロードした時間の、Epochからのミリ秒
timestamp
- 現在の時間のEpocからのミリ秒。
pid
- ステータスリクエストを処理したワーカープロセスのID。
ppid
- ワーカープロセスを開始したマスタープロセスのID。
processes
-
respawned
- 子プロセスが異常終了してrespawnされた総回数。
接続
-
accepted
- クライアント接続を受けた総数
dropped
- クライアント接続を取り落とした総数
active
- 現在のアクティブクライアントの接続数
idle
- 現在のアイドル状態のクライアントの接続数
ssl
-
handshakes
- 成功したSSLハンドシェイクの総数。
handshakes_failed
- 失敗したSSLハンドシェイクの総数。
session_reuses
- SSLハンドシェイクの間に再利用するセッションの総数。
requests
-
total
- クライアントリクエストの総数
current
- 現在のクライアントリクエストの数
server_zones
-
それぞれのstatus_zoneについて:
processing
- 現在処理されているクライアントリクエストの数
requests
- クライアントから受け付けたクライアントリクエストの総数
responses
-
total
- クライアントに送信した応答の総数
-
1xx
,2xx
,3xx
,4xx
,5xx
- ステータスコード 1xx, 2xx, 3xx, 4xx, and 5xx の応答の数
discarded
- 応答を送信せずに完了したリクエストの総数。
received
- クライアントから受け取った総バイト数
sent
- クライアントに送信した総バイト数
slabs
-
slabアロケータを使う各共有メモリについて:
pages
-
used
- 使用されたメモリページの現在の数。
free
- フリーなメモリページの現在の数。
slots
-
各メモリスロットサイズ (8, 16, 32, 64, 128, etc.) については、以下のデータが提供されます:
used
- 使用されたメモリスロットの現在の数。
free
- フリーなメモリスロットの現在の数。
reqs
- 指定されたサイズのメモリを割り当てようとした総回数。
fails
- 指定されたサイズのメモリを割り当てようとして失敗した数。
upstreams
-
動的に設定可能な 各グループについて、以下のデータが提供されます:
peers
-
各 サーバについて、以下のデータが提供されます:
id
- サーバのID。
server
- サーバのアドレス。
名前
- server ディレクティブで指定されたサーバの名前。
service
- serverディレクティブの service パラメータ値。
バックアップ
- サーバが バックアップ サーバかどうかを示す真偽値
weight
- サーバの重み付け。
state
-
現在の状態。“
up
”, “draining
”, “down
”, “unavail
”, “checking
” あるいは “unhealthy
” のうちのいずれかでしょう。 active
- 現在のアクティブな接続の数
max_conns
- サーバの max_conns 制限。
requests
- このサーバにフォワードされているクライアントリクエストの総数
responses
-
total
- このサーバから取得された応答の総数
-
1xx
,2xx
,3xx
,4xx
,5xx
- ステータスコード 1xx, 2xx, 3xx, 4xx, and 5xx の応答の数
sent
- このサーバに送信された総バイト数
received
- このサーバから受け取った総バイト数
fails
- サーバと通信に失敗した総数
unavail
-
失敗の試行数がmax_failsの閾値に達したためにサーバがクライアントのリクエストに使えなくなった(state "
unavail
")回数 health_checks
-
checks
- health check リクエストの総数
fails
- health checkに失敗した数
unhealthy
-
何回サーバがunhealthy(state "
unhealthy
")になったか last_passed
- 最後のhealth checkリクエストが成功してtestsに通ったかの真偽値
downtime
-
サーバが “
unavail
”, “checking
” および “unhealthy
” の状態であった総時間。 downstart
-
サーバが“
unavail
”, “checking
” または “unhealthy
” になった時の時間(Epochからのミリ秒)。 selected
- サーバがリクエストを処理するように最後に選択されてからの時間(Epochからのミリ秒)(1.7.5)。
header_time
- サーバから 応答ヘッダ を受け取った平均タイム (1.7.10)。バージョン 1.11.6以前では、least_time ロードバランシングメソッドを使っている場合のみフィールドが利用可能でした。
response_time
- サーバから full response を受け取った平均タイム (1.7.10)。バージョン 1.11.6以前では、least_time ロードバランシングメソッドを使っている場合のみフィールドが利用可能でした。
keepalive
- 現在のアイドル状態のkeepalive 接続の数
zombies
- グループから削除されたが、まだアクティブなクライアントリクエストを処理しているサーバの現在の数。
zone
- グループの設定と実行状態を保持する共有メモリzoneの名前。
キュー
-
リクエストキューについて、以下のデータが提供されます:
size
- キュー内のリクエストの現在の数。
max_size
- 同時にキューの中に存在できるリクエストの最大数。
overflows
- キューのオーバーフローによって拒否されたリクエストの総数。
caches
-
それぞれのキャッシュ(proxy_cache_pathなどで設定)について:
size
- 現在のキャッシュのサイズ
max_size
- 設定で指定されたキャッシュの最大サイズの上限
cold
- "cache loader"プロセスがディスクからキャッシュにまだデータをロードしているかどうかを示す真偽値
-
hit
,stale
,updating
,revalidated
-
responses
- キャッシュから読み込んだ応答の総数(proxy_cache_use_stale などによるヒットあるいは新鮮では無い応答)
bytes
- キャッシュから読み込んだ総バイト数
-
miss
,expired
,bypass
-
responses
- キャッシュから取り出されなかった応答の総数(proxy_cache_bypass などによる misses, expires または bypasses)
bytes
- プロキシされたサーバから読み込んだ総バイト数
responses_written
- キャッシュに書き込まれた総応答数
bytes_written
- キャッシュに書き込まれた総バイト数
stream
-
server_zones
-
それぞれのstatus_zoneについて:
processing
- 現在処理されているクライアント接続の数。
接続
- クライアントに受け入れられた接続の総数。
sessions
-
total
- 完了したクライアントセッションの総数。
-
2xx
,4xx
,5xx
- ステータスコード 2xx, 4xx, あるいは 5xx で完了したセッションの数。
discarded
- セッションを生成せずに完了した接続の総数。
received
- クライアントから受け取った総バイト数
sent
- クライアントに送信した総バイト数
upstreams
-
動的に設定可能な 各グループについて、以下のデータが提供されます:
peers
-
各サーバについて、以下のデータが提供されます:
id
- サーバのID。
server
- サーバのアドレス。
名前
- server ディレクティブで指定されたサーバの名前。
service
- serverディレクティブの service パラメータ値。
バックアップ
- サーバが バックアップ サーバかどうかを示す真偽値
weight
- サーバの重み付け。
state
-
現在のステータス。“
up
”, “down
”, “unavail
”, “checking
” あるいは “unhealthy
” のいずれかでしょう。 active
- 現在の接続の数。
max_conns
- サーバの max_conns 制限。
接続
- このサーバに転送されたクライアント接続の総数。
connect_time
- upstreamサーバへの接続の平均タイム。バージョン 1.11.6以前では、least_time ロードバランシングメソッドを使っている場合のみフィールドが利用可能でした。
first_byte_time
- データの最初のバイトを受け取るまでの平均タイム。バージョン 1.11.6以前では、least_time ロードバランシングメソッドを使っている場合のみフィールドが利用可能でした。
response_time
- データの最後のバイトを受け取るまでの平均タイム。バージョン 1.11.6以前では、least_time ロードバランシングメソッドを使っている場合のみフィールドが利用可能でした。
sent
- このサーバに送信された総バイト数
received
- このサーバから受け取った総バイト数
fails
- サーバと通信に失敗した総数
unavail
-
クライアント接続の失敗がmax_fails閾値に達することにより、サーバが利用不可能(state “
unavail
”) になった回数。 health_checks
-
checks
- health check リクエストの総数
fails
- health checkに失敗した数
unhealthy
-
何回サーバがunhealthy(state "
unhealthy
")になったか last_passed
- 最後のhealth checkリクエストが成功してtestsに通ったかの真偽値
downtime
-
サーバが “
unavail
”, “checking
” および “unhealthy
” の状態であった総時間。 downstart
-
サーバが“
unavail
”, “checking
” または “unhealthy
” になった時の時間(Epochからのミリ秒)。 selected
- サーバが接続を処理するように最後に選択されてからの時間(Epochからのミリ秒)。
zombies
- グループから削除されたが、まだアクティブなクライアント接続を処理しているサーバの現在の数。
zone
- グループの設定と実行状態を保持する共有メモリzoneの名前。
互換性
- http および stream の中の zone フィールドがバージョン 8 で追加されました。
- slabs ステータス データが バージョン 8 で追加されました。
- checking 状態が バージョン 8 で追加されました。
- http および stream 内のname および service フィールドは バージョン 8 で追加されました。
- nginx_build と ppid フィールドがバージョン 8 で追加されました。
- ストリームserver_zones 内の sessions ステータスコードと discarded フィールドは、version 7で追加されました。
- zombies フィールドはversion 6 のnginxのdebugバージョンから移動してきました。
- バージョン 6で ssl ステータスデータが追加されました。
- server_zonesの中のdiscarded フィールドがバージョン 6 で追加されました。
- キュー 状態のデータがバージョン 6で追加されました。
- pid フィールドが バージョン 6 で追加されました。
- upstreamsの中のサーバのリストがpeersの中にバージョン 6で移動されました。
-
upstreamサーバの
keepalive
フィールドはバージョン 5 で削除されました。 - stream ステータスデータはバージョン 5で追加されました。
- generation フィールドはバージョン 5で追加されました。
- processesの respawned フィールドは バージョン 5 で追加されました。
- upstreams</a>の header_time および response_time フィールドは バージョン 5 で追加されました。
- upstreams内のselectedフィールドはバージョン 4 で追加されました。
- upstreams内のdrainingステートはバージョン 4 で追加されました。
- upstreams内のidおよびmax_connsフィールドはバージョン 3で追加されました。
- caches内の<a0>revalidated</a0>フィールドはバージョン 3 で追加されました。
- server_zones, caches および load_timestamp ステータスデータは バージョン 2 で追加されました。