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

:NGINX クラスターの監視

最終更新日:Dec 31, 2024

Alibaba Cloud Managed Service for Prometheus は、NGINX コンポーネントとシームレスに統合され、受信リクエスト、転送バイト数、応答時間などの重要なメトリクスの収集を可能にします。 NGINX コンポーネントを リクエスト、b転送されたバイト数、および応答時間。NGINX コンポーネントを Managed Service for Prometheus と統合することで、すぐに使用できるダッシュボードを活用してパフォーマンスを監視し、サーバー構成を最適化し、必要に応じて問題をトラブルシューティングできます。このトピックでは、NGINX クラスターを監視する方法について説明します。

背景情報

NGINX クラスターから収集されたメトリクスは、[ ARMS コンソール ][ 統合センター ] ページで確認できます。9.jpg

前提条件

  • NGINX がインストールされており、想定どおりに実行できること。

  • NGINX スタブステータスモジュールの監視を有効にするには、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 がインストールされています。cw_prom_exporter_nginx_module

      • ngx_http_stub_status_module がインストールされていない場合は、次のコマンドを実行してモジュールをインストールします。

        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. NGINX のステータスをクエリするために ngx_http_stub_status_module を起動します。

      location /nginx_status {
        stub_status on;
        allow 127.0.0.1;  // ローカルホストからのリクエストのみ許可
        deny all;   // その他すべてのホストを拒否
       }
      説明
      • location の値は nginx_status である必要があります。

      • allow 127.0.0.1 および deny all はローカルアクセスのみを許可します。NGINX クラスターからのアクセスを許可するには、これらの 2 行のコードをコメントアウトするか、127.0.0.1 を NGINX クラスターの 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 が起動されています。

      wo

  • NGINX 仮想ホストトラフィックステータス (VTS) モジュールの監視を有効にするには、nginx-module-vts をインストールします。

    nginx-module-vts のインストール手順

    1. https://github.com/vozlt/nginx-module-vts から nginx-module-vts をダウンロードします。

    2. NGINX 構成ファイルをコンパイルします。

      1. NGINX 構成ファイルに nginx-module-vts を追加します。

        --add-module=/path/to/nginx-module-vts
      2. 公式ソフトウェアパッケージをダウンロードし、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 構成ファイルを修正し、監視インターフェースを追加します。

      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_traffic_status_filter_by_host on
      説明

      NGINX で複数のサーバー名を構成する場合、仮想ホストフィルタリングを有効にすることで、システムが異なるサーバー名に基づいてトラフィックデータを収集するようにできます。仮想ホストフィルタリングを有効にしないと、システムはすべてのトラフィックを最初のサーバーに帰属させます。

      地域別にトラフィックを監視する必要がない場合は、次のコマンドを実行して仮想ホストフィルタリングを無効にできます。省略記号 (...) は省略されたコードを示します。

      server {
      ...
      vhost_traffic_status off;
      ...
      }
    5. nginx-module-vts がインストールされているかどうかを確認します。

      curl http://127.0.0.1/status

手順

  1. ARMS コンソール にログインします。

  2. 左側のナビゲーションペインで、[統合センター] をクリックします。表示されるページで、[Nginx] カードをクリックします。[統合センター]Nginx

  3. [Nginx] ページで、パラメーターを設定します。Nginx

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

      • Kubernetes 環境:監視対象オブジェクトは、Container Service for Kubernetes(ACK)クラスターで実行されます。

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

    2. プロンプトに従って、ACK クラスターまたは ECS インスタンスを選択します。

    3. [構成情報] セクションを設定します。構成情報

      ACK クラスター

      パラメーター

      説明

      名前(必須ではありません)

      Managed Service for Prometheus に統合する NGINX クラスターの名前。

      nginxtest123

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

      NGINX によって受信および処理されたリクエスト数など、メトリクスの収集に ngx_http_stub_status_module (NGINX の組み込みモジュール) を使用するかどうかを指定します。

      説明

      この監視機能を有効にする前に、ngx_http_stub_status_module がインストールされていることを確認してください。詳細については、「ngx_http_stub_status_module」をご参照ください。

      該当なし

      Vts モニタリング用に Nginx を有効にする

      NGINX リクエスト数、バイト数、応答時間などのメトリクスの収集に nginx-module-vts を使用するかどうかを指定します。

      説明

      この監視機能を有効にする前に、nginx-module-vts がインストールされていることを確認してください。詳細については、「nginx-module-vts」をご参照ください。

      該当なし

      Nginx ホスト

      NGINX サービスのドメイン名。

      次のドメイン名がサポートされています。

      • クラスター内の NGINX サービスのエンドポイント

      • NGINX サービスが存在する ACK クラスターの内部 IP アドレス

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

      nginx-server.namespace

      Nginx ポート

      NGINX サーバーのポート番号。

      80

      メトリック収集間隔(単位/秒)

      監視データの収集間隔。デフォルト値: 15 。単位:秒。

      15

      ECS (VPC)

      パラメーター

      説明

      名前 (必須ではありません)

      Managed Service for Prometheus に統合する NGINX クラスターの名前。

      nginxtest321

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

      NGINX サービスによって受信および処理されたリクエスト数など、メトリクスの収集に ngx_http_stub_status_module (NGINX の組み込みモジュール) を使用するかどうかを指定します。

      該当なし

      Vts モニタリング用に Nginx を有効にする

      NGINX リクエスト数、バイト数、応答時間などのメトリクスの収集に nginx-module-vts を使用するかどうかを指定します。

      説明

      この監視機能を有効にする前に、nginx-module-vts がインストールされていることを確認してください。詳細については、「nginx-module-vts」をご参照ください。

      該当なし

      Nginx ホスト

      NGINX サービスのドメイン名。

      次のドメイン名がサポートされています。

      • クラスター内の NGINX サービスのエンドポイント

      • NGINX サービスが存在する ACK クラスターの内部 IP アドレス

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

      nginx-server.namespace

      Nginx ポート

      NGINX サーバーのポート番号。

      80

      メトリック収集間隔(単位/秒)

      監視データの収集間隔。デフォルト値: 15 。単位:秒。

      15

      カスタム ラベル

      監視する仮想プライベートクラウド (VPC) にデプロイされた ECS インスタンスのメトリクスのカスタムタグ。

      タグを構成することで、Grafana などのツールを使用する際に、メトリクスをきめ細かく整理、クエリ、監視、または分析できます。詳細については、「VPC を使用して ECS インスタンスのメトリクスにタグを追加する」をご参照ください。

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

      • タグはキーと値のデータ形式です。

      test1:aaa

監視情報の表示

統合されたコンポーネントを表示するには、左側のナビゲーション [ペイン] で [統合管理] (Integration Management) をクリックします。コンポーネント [カード] をクリックすると、[ターゲット]、[メトリック]、[ダッシュボード]、[アラート]、サービス検出構成、およびコンポーネントなどの情報が表示されます。image