すべてのプロダクト
Search
ドキュメントセンター

:Nginx 統合

最終更新日:Jun 21, 2026

このトピックでは、Nginx と Managed Service for Prometheus を統合する方法について説明します。Nginx は、リバースプロキシ、負荷分散、HTTP キャッシュなどの機能をサポートする高性能なオープンソース Web サーバーです。Managed Service for Prometheus は、リクエスト数、バイトサイズ、レスポンスタイムなど、Nginx の主要なメトリクスを収集します。Managed Service for Prometheus は、管理者がサーバーのパフォーマンスを把握し、設定を最適化し、問題のトラブルシューティングに役立つ、すぐに使用できるダッシュボードを提供します。

背景情報

ARMS コンソールアクセスセンター で Nginx メトリクスを表示できます。 [統合センター] で、Nginx コンポーネントを検索し、[メトリクス収集] タブを選択して、[Kubernetes 環境] タブに切り替えます。 Nginx でサポートされているメトリクスには、nginx_connections_acceptednginx_connections_activenginx_connections_handlednginx_connections_readingnginx_connections_waitingnginx_connections_writingnginx_http_requests_totalnginx_up、および nginxexporter_build_info が含まれます。 メトリクスタイプには COUNTER と GAUGE があり、すべてのメトリクスは 'common' グループに属します。

前提条件

  • Nginx サービスがインストールされ、実行されていること。

  • Nginx の Stub Status 監視を有効にするには、ngx_http_stub_status_module モジュールをインストールします。

    ngx_http_stub_status_module モジュールのインストール方法

    1. ngx_http_stub_status_module モジュールがインストールされているかどうかを確認します。

      nginx -V 2>&1 | grep -o with-http_stub_status_module
      • 次の出力が返された場合、ngx_http_stub_status_module モジュールはインストールされています。

        [root@xxx ~]# nginx -V 2>&1 | grep -o with-http_stub_status_module
        with-http_stub_status_module
        [root@xxx ~]#
      • 出力が返されない場合は、次のコマンドを実行してモジュールをインストールします。

        wget http://nginx.org/download/nginx-1.13.12.tar.gz
        tar xfz nginx-1.13.12.tar.gz
        cd nginx-1.13.12/
        ./configure --with-http_stub_status_module
        make
        make install
    2. ngx_http_stub_status_module モジュールを有効にして、Nginx のステータスをクエリします。

      location /nginx_status {
        stub_status on;
        allow 127.0.0.1;  # localhost からのリクエストのみを許可します
        deny all;   # 他のすべてのホストを拒否します
       }
      説明
      • ロケーションパスはnginx_statusと命名する必要があります。

      • allow 127.0.0.1deny all ディレクティブは、ローカルアクセスのみを許可します。Nginx exporter からのアクセスを許可するには、この 2 行をコメントアウトするか、127.0.0.1 を Nginx exporter の IP アドレスに置き換えることができます。

    3. Nginx を再起動します。

      nginx -t
      nginx -s reload 
    4. オプション: ngx_http_stub_status_module モジュールが起動していることを確認します。

      curl http://127.0.0.1/nginx_status

      次の出力が返された場合、ngx_http_stub_status_module モジュールは起動しています。

      [root@xxx ~]# curl http://127.0.0.1/nginx_status
      Active connections: 1
      server accepts handled requests
       177 177 3956
      Reading: 0 Writing: 1 Waiting: 0
      [root@xxx ~]#
  • Nginx の VTS 監視を有効にするには、nginx-module-vts モジュールをインストールします。

    nginx-module-vts モジュールのインストール方法

    1. nginx-module-vts モジュールをダウンロードします。

      説明

      https://github.com/vozlt/nginx-module-vts.git

    2. コンパイル設定を構成します。

      1. Nginx のコンパイル時に nginx-module-vts モジュールを追加します。

        --add-module=/path/to/nginx-module-vts
      2. 公式の Nginx パッケージをダウンロードし、nginx-module-vts モジュールをコンパイルします。

        ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_sysguard_module  --add-module=nginx-module-vts
    3. nginx-module-vts モジュールをインストールします。

      make && make install
    4. Nginx を設定します。nginx.conf ファイルを変更し、監視エンドポイントを追加します。

      http {
          vhost_traffic_status_zone;
              vhost_traffic_status_filter_by_host on;
          ...
          server {
              ...
              location /status {
                  vhost_traffic_status_display;
                  vhost_traffic_status_display_format html;
              }
          }
      }

      設定ファイルで vhost フィルタリングを有効にします。

      vhost_traffic_status_filter_by_host on
      説明

      Nginx が複数の server_name ディレクティブで設定されている場合、この機能により、システムは各サーバー名のトラフィック統計を収集できます。それ以外の場合、すべてのトラフィックはデフォルトで最初の server_name に関連付けられます。

      特定の server ブロックのトラフィック統計を収集する必要がない場合は、vhost_traffic_status を無効にできます。例の省略記号 (...) は、コンテンツが省略されていることを示します。

      server {
      ...
      vhost_traffic_status off;
      ...
      }
    5. nginx-module-vts モジュールがインストールされていることを確認します。

      curl http://127.0.0.1/status

Nginx の統合

  1. ARMS コンソールにサインインします。左側のナビゲーションペインで、アクセスセンター に移動し、[Nginx] カードをクリックします。

  2. 統合パラメータを設定します。

    1. 環境タイプを選択します。

      • Kubernetes 環境:監視対象が ACK クラスターで実行されています。

      • ECS (VPC):監視対象が ECS インスタンスで実行されています。

    2. ACK クラスターまたは ECS インスタンスを選択します。

    3. 統合を設定します。

      Kubernetes 環境

      パラメータ

      説明

      [統合名 (任意)]

      統合のカスタム名。

      nginxtest123

      [Nginx のスタブステータス監視を有効にする]

      この監視機能を有効または無効にします。

      Nginx のリクエストと接続に関する統計を提供します。

      説明

      このオプションを有効にする前に、「ngx_http_stub_status_module モジュールがインストールされていること」を確認してください。

      N/A

      [Nginx の VTS 監視を有効にする]

      この監視機能を有効または無効にします。

      このオプションは、通常は手動コンパイルが必要な nginx-module-vts モジュールを使用してデータを収集します。Nginx のリクエスト数、バイトサイズ、レスポンスタイムなどのメトリクスを提供します。

      説明

      このオプションを有効にする前に、「nginx-module-vts モジュールがインストールされていること」を確認してください。

      N/A

      [Nginx ホスト]

      次のタイプを使用できます。

      • Nginx サービスのクラスター内アクセスアドレス

      • サービスが配置されているクラスターの内部 IP アドレス

      • サービスのパブリック IPv4 アドレス

      nginx-server.namespace

      [Nginx ポート]

      Nginx サービスのポート。

      80

      [メトリック収集間隔 (秒)]

      メトリクスの収集間隔。デフォルトは 15 秒です。

      15

      ECS (VPC)

      パラメータ

      説明

      [統合名 (任意)]

      統合のカスタム名。

      nginxtest321

      [Nginx のスタブステータス監視を有効にする]

      この監視機能を有効または無効にします。

      Nginx のリクエストと接続に関する統計を提供します。

      N/A

      [Nginx の VTS モニタリングを有効化]

      この監視機能を有効または無効にします。

      このオプションは、通常は手動コンパイルが必要な nginx-module-vts モジュールを使用してデータを収集します。Nginx のリクエスト数、バイトサイズ、レスポンスタイムなどのメトリクスを提供します。

      説明

      このオプションを有効にする前に、「nginx-module-vts モジュールがインストールされていること」を確認してください。

      N/A

      [Nginx ホスト]

      次のタイプを使用できます。

      • Nginx が実行されている ECS インスタンスの内部 IP アドレス。

      • Nginx が実行されている ECS インスタンスのパブリック IP アドレス。

      • サービスのパブリック IPv4 アドレス

      nginx-server.namespace

      [Nginx ポート]

      Nginx サービスのポート。

      80

      [メトリック収集間隔 (秒)]

      メトリクスの収集間隔。デフォルトは 15 秒です。

      15

      [カスタムタグ]

      Prometheus によって収集されるメトリクスにカスタムのキーと値のペアタグを追加します。これにより、Grafana などのツールで、より詳細な整理、クエリ、監視、分析が可能になります。詳細については、「VPC 環境のインスタンスのメトリクスにカスタムタグを挿入する」をご参照ください。

      説明
      • タグキーには、ハイフン (-)、ピリオド (.)、パーセント記号 (%) などの特殊文字を含めることはできません。これらの文字は Prometheus で特別な意味を持つためです。

      • 挿入されるタグは、Prometheus で許可されている有効なキーと値の形式である必要があります。

      test1:aaa

監視情報の表示

統合されたコンポーネントを表示するには、左側のナビゲーションペインで アクセス管理 をクリックします。統合カードをクリックすると、ターゲット、メトリクス、ダッシュボード、アラート、サービスディスカバリ設定、エクスポーターなどの詳細が表示されます。Kubernetes 環境の [自己監視] ページで、[Prometheus エージェント] タブを選択します。[job][インスタンス][エージェント] のドロップダウンリストを使用してデータをフィルタリングできます。ページには次の監視パネルが表示されます:エージェント実行ステータス (予想レプリカ、実行中のレプリカ、ターゲット数、スクレイプされた時系列の合計)、エージェントディスカバリ/スクレイプ例外 (job サービスディスカバリ例外、job スクレイプ例外、ターゲットスクレイプ例外の数。例外は赤で強調表示されます)、エージェント設定配信例外 (sendConfig 例外と sendTargets 例外。正常なステータスは緑で示されます)、エージェント収集および処理例外エージェント実行バージョン。下部の エージェントステータス概要 テーブルには、heartbeattargetsserieswriteArmspod_namememoryLimitcpuLim など、各エージェントのメトリクスが一覧表示されます。