ラージビッグバナー(970x90)

Linux

Nginxのアクティブコネクション数(サーバ接続状態)を取得する

投稿日:

ビッグバナー(piglog)728px

Nginxで今現在どのくらいのクライアントが接続しているのか確認をしたいというお話。

環境

  • CentOS7.5
  • nginx/1.15.2

アクティブコネクション数の取得手順

設定するには、http_stub_status_module というモジュールが必要となる。

が、比較的新しいバージョンにはデフォルトで組み込まれているようなので、コンパイルし直さないといけない・・・ということはなさそうです。

 

入っていることが確認できたら、Nginxの設定ファイルに以下を追加する。locationのURLは何でも良い。

 

ただ、これだけだとURL直打ちで誰でも見れてしまうので、以下のようにする。

 

Nginxを再起動して設定を反映します。

 

設定したURLに接続してみる。以下はサーバローカルで実行しているが、allowとdenyの設定によってリモートからWebブラウザで接続も可能。

 

以下のようにwhileでループ実行させれば、簡単なリアルタイム監視もできる。

 

アクセスが無いとほんとに機能してるのかわからないので、ループ実行させた状態で、クライアントから一気にアクセスを発生させてみる。

 

サーバ側ではURL接続をループさせておく。

 

Active Connections と Waiting ががっつり反応してくれています^^

ちゃんと監視できていますね。

ステータス表示の意味としては以下(公式より)

Active connections
Waiting接続を含むアクティブなクライアント接続の現在の数。

accepts
受け入れられたクライアント接続の合計数。

handled
処理された接続の総数。一般的に、パラメータ値は、accepts リソース制限に達するまで(たとえば、worker_connectionsの制限値)に達していない場合 と同じです。

requests
クライアント要求の合計数。

Reading
nginxがリクエストヘッダを読み込んでいる現在の接続数。

Writing
nginxが応答をクライアントに書き戻している現在の接続数。

Waiting
要求を待機しているアイドル状態のクライアント接続の現在の数。

とりあえず、「Active connections」で現在の接続数と「Waiting」でアイドル状態の値が使えそう。

これもgrep、awkとか使って値だけ取れれば、Zabbixのユーザパラメータの設定でコネクション数の監視ができそうですね。

おしまい。

レクタングル (大)

レクタングル (大)

リンクユニット(レスポンシブ)

-Linux
-, ,

Copyright© ぴぐろぐ , 2018 All Rights Reserved.