このトピックでは、Nginx と Managed Service for Prometheus を統合する方法について説明します。Nginx は、リバースプロキシ、負荷分散、HTTP キャッシュなどの機能をサポートする高性能なオープンソース Web サーバーです。Managed Service for Prometheus は、リクエスト数、バイトサイズ、レスポンスタイムなど、Nginx の主要なメトリクスを収集します。Managed Service for Prometheus は、管理者がサーバーのパフォーマンスを把握し、設定を最適化し、問題のトラブルシューティングに役立つ、すぐに使用できるダッシュボードを提供します。
背景情報
ARMS コンソールの アクセスセンター で Nginx メトリクスを表示できます。 [統合センター] で、Nginx コンポーネントを検索し、[メトリクス収集] タブを選択して、[Kubernetes 環境] タブに切り替えます。 Nginx でサポートされているメトリクスには、nginx_connections_accepted、nginx_connections_active、nginx_connections_handled、nginx_connections_reading、nginx_connections_waiting、nginx_connections_writing、nginx_http_requests_total、nginx_up、および nginxexporter_build_info が含まれます。 メトリクスタイプには COUNTER と GAUGE があり、すべてのメトリクスは 'common' グループに属します。
前提条件
-
Nginx サービスがインストールされ、実行されていること。
-
Nginx の Stub Status 監視を有効にするには、
ngx_http_stub_status_moduleモジュールをインストールします。 -
Nginx の VTS 監視を有効にするには、
nginx-module-vtsモジュールをインストールします。
Nginx の統合
-
ARMS コンソールにサインインします。左側のナビゲーションペインで、アクセスセンター に移動し、[Nginx] カードをクリックします。
-
統合パラメータを設定します。
-
環境タイプを選択します。
-
Kubernetes 環境:監視対象が ACK クラスターで実行されています。
-
ECS (VPC):監視対象が ECS インスタンスで実行されています。
-
-
ACK クラスターまたは ECS インスタンスを選択します。
-
統合を設定します。
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 例外。正常なステータスは緑で示されます)、エージェント収集および処理例外、エージェント実行バージョン。下部の エージェントステータス概要 テーブルには、heartbeat、targets、series、writeArms、pod_name、memoryLimit、cpuLim など、各エージェントのメトリクスが一覧表示されます。