NGINX の監視ツールを設定することは、Web サイトの運用を維持する上で重要な部分です。 適切な NGINX モニタリングにより、基盤となるアプリケーションのパフォーマンスに関する多くの有用な情報が明らかになります。 このタスクに適した監視システムは数多くありますが、最初のステップは、NGINX でメトリック収集を有効にすることです。
stub_status
モジュールの使用NGINX オープンソースには、 ngx_http_stub_status_module
(または単にstub_status
) と呼ばれるモジュールがあり、NGINX アクティビティに関するいくつかの重要なメトリックを公開します。
NGINX ビルドにstub_status
モジュールが含まれているかどうかを確認するには、 nginx -V
を実行します。
$ nginx -V 2>&1 | grep --color -- --with-http_stub_status_module
すべてのNGINX ビルドには、サポートされているすべてのプラットフォーム上のstub_status
モジュールが含まれています。
NGINX ビルドにstub_status
モジュールが含まれていない場合は、ソースから再構築し、 configure
スクリプトに--with-http_stub_status_module
パラメータを含める必要があります。
次のステップとして、 location
ブロックにstub_status
ディレクティブを含めて、NGINX 構成でモジュールを有効にします。 既存のサーバー
構成にブロックをいつでも追加できます。 または、次のように、 stub_status
ディレクティブ専用の場所
を 1 つ持つ別のサーバー
ブロックを追加します。
サーバー {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status;
}
}
stub_status
ディレクティブの適切なサーバー
ブロックは、メイン構成ファイル ( nginx.conf ) の外部にある場合があります。 そのファイルに適切なブロックが見つからない場合は、通常nginx.confに含まれている追加の構成ファイルを検索します。
また、 location ブロック
またはserver
ブロックにallow
およびdeny
ディレクティブを含めるなどして、承認されたユーザーのみがメトリックにアクセスできるようにすることをお勧めします。
stub_status
モジュールが設定された後、NGINX 設定をリロードすることを忘れないでください (たとえば、 service
nginx
reload
コマンドを使用)。 NGINX 制御信号の詳細については、こちらをご覧ください。
stub_status
メトリックを表示するには、 curl
クエリを作成します。 上記の構成には以下が適切です。
$ curl http://127.0.0.1/nginx_statusアクティブな接続: 2 サーバーが処理されたリクエストを受け入れます 841845 841845 1631067 読み取り: 0 執筆: 1 待機中: 1
これが機能しない場合は、 /nginx_statusへのリクエストがどこにルーティングされるかを確認してください。 多くの場合、 stub_status
メトリックにアクセスできない理由は、別のサーバー
ブロックである可能性があります。 インスタンス全体の NGINX メトリクスの詳細については、リファレンス ドキュメントを参照してください。
NGINX でstub_status
モジュールが有効になって動作したら、選択した監視システムのインストールと構成に進むことができます。
NGINXアクセス ログとエラー ログには、メトリック収集に適した多くの有用な情報が含まれています。 NGINX変数を使用して、アクセス ログの形式を完全にカスタマイズできます。 特定の監視ツールでは、メトリック収集に NGINX ログ ファイルを活用できます。
さまざまなパフォーマンスとセキュリティの要件を満たすには、NGINX syslog機能の使用を検討してください。 ログ ファイルはディスクに書き込まれますが、syslog により NGINX はネットワーク プロトコル経由でログ データを送信できます。 たとえば、さまざまな NGINX インスタンスからすべてのログ データを収集するための専用の Linux システムをセットアップできます。
ログの詳細については、 NGINX Plus 管理者ガイドを参照してください。
NGINX 監視用のネイティブ ツールがあります。 これはNGINX Amplifyと呼ばれ、最大 5 台のサーバーを無料で監視できる SaaS ツールです (より多くのサーバーにはサブスクリプションが利用可能です)。
NGINX Amplify を使い始めるのは簡単です。 10 分以内に、すべての主要な NGINX メトリックのすぐに使用できるグラフを取得できます。 NGINX Amplify は、 stub_status
とアクセス ログからのメトリクスを自動的に使用し、さまざまな OS 情報も収集できます。
NGINX Amplify を使用すると、NGINX のパフォーマンスを視覚化し、OS、PHP-FPM、Docker コンテナなどを監視できます。 Amplify のユニークな機能は、NGINX 構成の静的アナライザーであり、構成をより安全かつ効率的にするための推奨事項を提供します。
NGINX Amplify の詳細については、こちらをご覧になり、無料でお試しください。
NGINX Plus は、専用の API モジュールを介してパフォーマンス メトリックを取得するより優れた方法を提供します。
API モジュールは、主に負荷分散と仮想サーバーの統計に重点を置いた詳細なメトリック セットを提供します。 例として、すべてのHTTPステータスコードの内訳(1xx
、 2xx
、 3xx
、 4xx
、 5xx
)は、 サーバ
ブロック。 ヘルス ステータス情報は、 HTTPおよびTCP/UDPアップストリーム サーバーの両方で利用できます。 キャッシュメトリックには、各キャッシュ ゾーンのヒットとミスが含まれます。
拡張されたメトリックセットを収集する以外に、API を使用すると、設定を再ロードしたり NGINX Plus を再起動したりせずに、 HTTPおよびTCP/UDPアップストリーム サーバー グループを再構成し、キー値変数を管理することもできます。
NGINX Plus には、追加のメトリックを利用する統合ダッシュボードも付属しています。 追加のメトリクスは、NGINX Amplify でも使用できます。
他の多くの監視製品でも、NGINX メトリックを収集して表示できます。 以下のリンクでは、最も一般的な統合シナリオについて説明しています。
「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"