CloudWatch ソリューション: Amazon EC2 での NGINX ワークロード
このソリューションは、EC2 インスタンスで実行されている NGINX アプリケーション用の CloudWatch エージェントを使用して、すぐに使用できるメトリクス収集を設定するのに役立ちます。すべての CloudWatch オブザーバビリティソリューションの一般的な情報については、「CloudWatch オブザーバビリティソリューション」を参照してください。
要件
このソリューションは、以下の条件に適しています。
-
サポートされているバージョン: NGINX バージョン 1.24
-
コンピューティング: Amazon EC2
-
特定の AWS リージョン のすべての NGINX ワークロードで最大 500 個の EC2 インスタンスをサポート
-
CloudWatch エージェントの最新バージョン
-
Prometheus Exporter: nginxinc/nginx-prometheus-exporter (Apache 2.0 ライセンス)
-
EC2 インスタンスにインストールされた SSM エージェント
注記
AWS Systems Manager (SSM エージェント) は、AWS および信頼できるサードパーティーが提供している一部の Amazon マシンイメージ (AMI) にプリインストールされています。エージェントがインストールされていない場合は、使用しているオペレーティングシステムタイプの手順を使用して、手動でインストールできます。
利点
このソリューションでは NGINX をモニタリングしているため、以下のユースケースに役立つインサイトが得られます。
-
接続メトリクスを確認して、潜在的なボトルネック、接続の問題、予期しない使用状況を特定します。
-
HTTP リクエストボリュームを分析して、NGINX の全体的なトラフィック負荷を把握します。
ソリューションの主な利点を以下に示します。
-
CloudWatch エージェント設定を使用して NGINX のメトリクス収集を自動化し、手動計測をなくします。
-
NGINX メトリクス用の事前設定済みの統合 CloudWatch ダッシュボードが用意されています。ダッシュボードは、ダッシュボードを初めて作成するときにメトリクスが存在しない場合でも、ソリューションを使用して設定された新しい NGINX EC2 インスタンスからのメトリクスを自動的に処理します。
以下の画像は、このソリューションのダッシュボードの例です。

コスト
このソリューションは、アカウントでリソースを作成して使用します。標準使用には料金がかかります。これには以下を含みます。
-
このソリューションのために CloudWatch エージェントによって収集されたすべてのメトリクスは、埋め込みメトリクス形式 (EMF) を使用して CloudWatch Logs に公開されます。これらの CloudWatch ログは、ボリュームと保持期間に基づいて課金されます。したがって、このソリューションの PutMetricData API コールに対して課金されることはありません。ログから抽出して取り込まれたメトリクスは、カスタムメトリクスとして課金されます。このソリューションで使用されるメトリクスの数は、EC2 ホストの数によって異なります。
-
ソリューション用に設定された各 NGINX EC2 ホストは、合計 8 つのメトリクスを公開します。
-
-
1 つのカスタムダッシュボード。
CloudWatch の料金の詳細については、「Amazon CloudWatch の料金
料金計算ツールを使用すると、このソリューションを使用するためのおよその月額コストを見積もることができます。
料金計算ツールを使用して毎月のソリューションのコストを見積もるには
-
[リージョンの選択] では、ソリューションをデプロイする AWS リージョンを選択します。
-
[メトリクス] セクションの [メトリクスの数] に
8 * number of EC2 instances configured for this solution
を入力します。 -
[ログ] セクションの [標準ログ: 取り込まれたデータ] に、すべての EC2 ホストで CloudWatch Agent によって生成される 1 日あたりのログのボリューム推定値を入力します。例えば、5 つの EC2 インスタンスは 1 日あたり 1000 バイト未満しか生成しません。設定したら、CloudWatch Logs から提供される
IncomingBytes
メトリクスを使用してバイト使用量を確認できます。必ず適切なロググループを選択してください。 -
[ログ] セクションの [ログストレージ/アーカイブ (標準および公開ログ)] で、
Yes to Store Logs: Assuming 1 month retention
を選択します。保持期間にカスタム変更を加える場合は、この値を変更します。 -
[ダッシュボードとアラーム] セクションの [ダッシュボードの数] に「
1
」と入力します。 -
毎月の見積コストは、料金計算ツールの下部に表示されます。
このソリューションの CloudWatch エージェント設定
CloudWatch エージェントは、サーバー上およびコンテナ化された環境で継続的かつ自律的に実行されるソフトウェアです。インフラストラクチャとアプリケーションからメトリクス、ログ、トレースを収集し、CloudWatch と X-Ray に送信します。
CloudWatch エージェントの詳細については、「CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する」を参照してください。
このソリューションのエージェント設定では、NGINX ワークロードのモニタリングと観測を開始するのに役立つ一連のメトリクスを収集します。CloudWatch エージェントは、ダッシュボードにデフォルトで表示されるよりも多くの NGINX メトリクスを収集するように設定できます。収集できるすべての NGINX メトリクスのリストについては、「NGINX OSS のメトリクス
CloudWatch エージェントを設定する前に、まずメトリクスを公開するように NGINX を設定する必要があります。次に、サードパーティーの Prometheus メトリクスエクスポーターをインストールして設定する必要があります。
NGINX メトリクスを公開する
注記
次のコマンドは、Linux 用です。Windows Server の同等のコマンドについては、Windows 用 NGINX に関するページ
まず、stub_status
モジュールを有効にする必要があります。NGINX 設定ファイルに新しいロケーションブロックを追加します。NGINX の stub_status
モジュールを有効にするには、nginx.conf
の server
ブロックに次の行を追加します。
location /nginx_status { stub_status on; allow 127.0.0.1; # Allow only localhost to access deny all; # Deny all other IPs }
NGINX を再ロードする前に、NGINX 設定を次のように検証します。
sudo nginx -t
この検証コマンドは、ウェブサイトがダウンする原因となる予期しないエラーを防ぐのに役立ちます。次の例は、正常なレスポンスを示します。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
更新された設定が正常に検証されたら、次のように NGINX を再ロードします (出力はありません)。
sudo systemctl reload nginx
このコマンドは、NGINX プロセスに設定を再ロードするように指示します。再ロードは、フル再起動より簡明です。再ロードでは、新しい設定で新しいワーカープロセスを開始し、古いワーカープロセスを的確にシャットダウンします。
NGINX ステータスエンドポイントを次のようにテストします。
curl http://127.0.0.1/nginx_status
次の例は、正常なレスポンスを示します。
Active connections: 1 server accepts handled requests 6 6 6 Reading: 0 Writing: 1 Waiting: 0
次の例は、正常でないレスポンスを示しています (続行する前にこれまでの手順を確認してください)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>The page is not found</title> ...
Prometheus メトリクスエクスポーターを設定する
公式 GitHub リポジトリ
次の例は、AMD64 のコマンドを示しています。
cd /tmp wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v1.3.0/nginx-prometheus-exporter_1.3.0_linux_amd64.tar.gz tar -xzvf nginx-prometheus-exporter_1.3.0_linux_amd64.tar.gz sudo cp nginx-prometheus-exporter /usr/local/bin/ rm /tmp/nginx-prometheus-exporter*
Prometheus エクスポーターを実行して、NGINX スタブステータスページに移動します。
nohup /usr/local/bin/nginx-prometheus-exporter -nginx.scrape-uri http://127.0.0.1/nginx_status &>/dev/null &
次の例は、レスポンス (バックグラウンドジョブ ID と PID) を示しています。
[1] 74699
NGINX Prometheus エンドポイントをテストする
NGINX Prometheus エクスポーターが関連するメトリクスの公開を開始したことを次のように検証します。
curl http://localhost:
port-number
/metrics
次の例は、正常なレスポンスを示します。
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. # TYPE go_gc_duration_seconds summary go_gc_duration_seconds{quantile="0"} 0 go_gc_duration_seconds{quantile="0.25"} 0 ... # HELP nginx_connections_accepted Accepted client connections # TYPE nginx_connections_accepted counter nginx_connections_accepted 14 # HELP nginx_connections_active Active client connections # TYPE nginx_connections_active gauge nginx_connections_active 1 ... # TYPE promhttp_metric_handler_requests_total counter promhttp_metric_handler_requests_total{code="200"} 1 promhttp_metric_handler_requests_total{code="500"} 0 promhttp_metric_handler_requests_total{code="503"} 0
このソリューションのエージェント設定
エージェントによって収集されるメトリクスは、エージェント設定で定義されます。このソリューションには、ソリューションのダッシュボードに適したディメンションで推奨メトリクスを収集するためのエージェント設定が用意されています。
ソリューションをデプロイする手順については、「ソリューションにエージェントをデプロイする」で後述します。以下の情報は、環境に合わせてエージェント設定をカスタマイズする方法を理解するのに役立ちます。
Prometheus エクスポーターで使用されるポート番号など、環境に合わせてエージェントと Prometheus の設定の一部をカスタマイズする必要があります。
Prometheus エクスポーターで使用されるポートは、次のコマンドを使用して確認できます。
sudo netstat -antp | grep nginx-prom
次の例は、レスポンスを示しています (ポート値 9113 を確認)。
tcp6 0 0 :::9113 :::* LISTEN 76398/nginx-prometh
NGINX ホストのエージェント設定
Prometheus モニターリングを使用した CloudWatch エージェントには、Prometheus メトリクスをスクレイプするために 2 つの設定が必要です。各設定は、「ステップ 2: 推奨 CloudWatch エージェント設定ファイルを Systems Manager パラメータストアに保存する」で後述するように、SSM のパラメータストアに別々のパラメータとして保存されます。
最初の設定は、Prometheus の「scrape_config
Prometheus の設定
port-number
をサーバーのポートに置き換えます。
global: scrape_interval: 30s scrape_timeout: 10s scrape_configs: - job_name: 'nginx' metrics_path: /metrics static_configs: - targets: ['localhost:
port-number
'] ec2_sd_configs: - port:port-number
relabel_configs: - source_labels: ['__meta_ec2_instance_id'] target_label: InstanceId metric_relabel_configs: - source_labels: ['__name__'] regex: 'nginx_up|nginx_http_requests_total|nginx_connections_.*' action: keep
CloudWatch エージェントの設定
以前の CloudWatch エージェント設定では、これらのメトリクスは埋め込みメトリクス形式 (EMF) を使用して CloudWatch Logs を介して公開されていました。これらのログは、ロググループ nginx
を使用するように設定されています。log_group_name
は、CloudWatch ログを表す別の名前にカスタマイズできます。
Windows Server を使用している場合は、次の設定の prometheus_config_path
を C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus.yaml
に設定します。
{ "agent": { "metrics_collection_interval": 60 }, "logs": { "metrics_collected": { "prometheus": { "log_group_name": "nginx", "prometheus_config_path": "/opt/aws/amazon-cloudwatch-agent/etc/prometheus.yaml", "emf_processor": { "metric_declaration_dedup": true, "metric_namespace": "CWAgent", "metric_declaration":[ { "source_labels":["InstanceId"], "metric_selectors":["nginx_up", "nginx_http_requests_total", "nginx_connections*"], "dimensions": [["InstanceId"]] } ] } } } } }
ソリューションにエージェントをデプロイする
ユースケースに応じて、CloudWatch エージェントをインストールするためのいくつかのアプローチがあります。このソリューションには Systems Manager を使用することをお勧めします。これにより、コンソール操作機能が提供され、1 つの AWS アカウント内のマネージドサーバーのフリートの管理が簡単になります。このセクションの手順では Systems Manager を使用し、CloudWatch エージェントを既存の設定で実行していない場合を対象としています。CloudWatch エージェントが実行されているかどうかは、「CloudWatch エージェントが実行されていることを確認する」の手順に従って確認できます。
ワークロードがデプロイされている EC2 ホストで CloudWatch エージェントを既に実行していて、エージェント設定を管理している場合は、このセクションの手順をスキップし、既存のデプロイメカニズムに従って設定を更新できます。新しい CloudWatch エージェントと Prometheus の設定を既存の設定とマージしてから、マージされた設定をデプロイしてください。Systems Manager を使用して CloudWatch エージェントの設定を保存および管理している場合は、設定を既存のパラメータ値にマージできます。詳細については、「CloudWatch エージェント設定ファイルの管理」を参照してください。
注記
Systems Manager を使用して次の CloudWatch エージェント設定をデプロイすると、EC2 インスタンスの既存の CloudWatch エージェント設定がある場合は置き換えられるか、上書きされます。独自の環境やユースケースに合わせてこの設定を変更できます。設定で定義されているメトリクスは、ソリューションを提供するダッシュボードに最小限必要なものです。
このデプロイプロセスには、以下のステップが含まれます。
-
ステップ 1: ターゲット EC2 インスタンスに必要な IAM アクセス許可があることを確認します。
-
ステップ 2: 推奨エージェント設定ファイルを Systems Manager パラメータストアに保存します。
-
ステップ 3: AWS CloudFormation スタックを使用して 1 つまたは複数の EC2 インスタンスに CloudWatch エージェントをインストールします。
-
ステップ 4: エージェントのセットアップが正しく設定されていることを確認します。
ステップ 1: ターゲット EC2 インスタンスに必要な IAM アクセス許可があることを確認する
CloudWatch エージェントをインストールして設定するためのアクセス許可を Systems Manager に付与する必要があります。EC2 インスタンスから CloudWatch にテレメトリを発行するアクセス許可を CloudWatch エージェントに付与する必要があります。また、CloudWatch エージェント EC2 読み取りアクセス権を付与する必要もあります。EC2 InstanceId をメトリクスディメンションとして追加するには、EC2 読み取りアクセス権が必要です。この追加要件は、EC2 Service Discovery を介して
__meta_ec2_instance_id
を使用するため、上記で説明したように prometheus.yaml
によって扱われます。
インスタンスにアタッチされた IAM ロールに CloudWatchAgentServerPolicy、AmazonSSMManagedInstanceCore、および AmazonEC2ReadOnlyAccess IAM ポリシーがアタッチされていることを確認します。
-
ロールの作成については、「Amazon EC2 インスタンスの CloudWatch エージェントで使用する IAM ロールを作成する」を参照してください。
-
ロールを作成したら、ロールを EC2 インスタンスにアタッチします。EC2 インスタンスにロールをアタッチするには、「インスタンスへの IAM ロールのアタッチ」の手順に従います。
ステップ 2: 推奨 CloudWatch エージェント設定ファイルを Systems Manager パラメータストアに保存する
パラメータストアでは、設定パラメータを安全に保存および管理することで EC2 インスタンスへの CloudWatch エージェントのインストールが簡素化され、ハードコーディングされた値が不要になります。これにより、デプロイプロセスがより安全で柔軟になり、集中管理が可能になり、複数のインスタンスで設定を簡単に更新できるようになります。
以下の手順を使用して、パラメータストアに推奨 CloudWatch エージェント設定ファイルをパラメータとして保存します。
CloudWatch エージェント設定ファイルをパラメータとして作成するには
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 -
コンソールで選択したリージョンが NGINX が実行されているリージョンであることを確認します。
-
ナビゲーションペインで [アプリケーション管理]、[パラメータストア] を選択します。
-
以下の手順に従って、設定の新しいパラメータを作成します。
-
[パラメータの作成] を選択します。
-
[名前] ボックスに、後のステップで CloudWatch エージェント設定ファイルを参照するために使用する名前を入力します。例えば、
AmazonCloudWatch-NGINX-CloudWatchAgent-Configuration
。 -
(オプション) [説明] ボックスにパラメータの説明を入力します。
-
[パラメータ階層] で、[標準] を選択します。
-
[型] で、[文字列] を選択します。
-
[データ型] で、[テキスト] を選択します。
-
[値] ボックスに、NGINX ホストのエージェント設定 にリストされた対応する JSON ブロックを貼り付けます。必要に応じてカスタマイズしてください。例えば、関連する
log_group_name
。 -
[パラメータの作成] を選択します。
-
Prometheus 設定ファイルをパラメータとして作成するには
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 -
ナビゲーションペインで [アプリケーション管理]、[パラメータストア] を選択します。
-
以下の手順に従って、設定の新しいパラメータを作成します。
-
[パラメータの作成] を選択します。
-
[名前] ボックスに、後のステップで設定ファイルを参照するために使用する名前を入力します。例えば、
AmazonCloudWatch-NGINX-Prometheus-Configuration
。 -
(オプション) [説明] ボックスにパラメータの説明を入力します。
-
[パラメータ階層] で、[標準] を選択します。
-
[型] で、[文字列] を選択します。
-
[データ型] で、[テキスト] を選択します。
-
[値] ボックスに、NGINX ホストのエージェント設定 にリストされた対応する YAML ブロックを貼り付けます。必要に応じてカスタマイズしてください。例えば、
targets
に従った関連するポート番号。 -
[パラメータの作成] を選択します。
-
ステップ 3: CloudWatch エージェントをインストールし、AWS CloudFormation テンプレートを使用して設定を適用する
AWS CloudFormation を使用してエージェントをインストールし、これまでの手順で作成した CloudWatch エージェント設定を使用するように設定できます。
このソリューションの CloudWatch エージェントをインストールして設定するには
-
次のリンクを使用して、AWS CloudFormation [スタックのクイック作成] ウィザードを開きます: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-with-prometheus-config-1.0.0.json
。 -
コンソールで選択したリージョンが NGINX ワークロードが実行されているリージョンであることを確認します。
-
[スタック名] にこのスタックを識別する名前 (
CWAgentInstallationStack
など) を入力します。 -
[パラメータ] セクションで、以下を指定します。
-
[CloudWatchAgentConfigSSM] に、
AmazonCloudWatch-NGINX-CloudWatchAgent-Configuration
など、前に作成したエージェント設定の AWS Systems Manager パラメータの名前を入力します。 -
[PrometheusConfigSSM] に、
AmazonCloudWatch-NGINX-Prometheus-Configuration
など、前に作成したエージェント設定の AWS Systems Manager パラメータの名前を入力します。 -
ターゲットインスタンスを選択するには、2 つのオプションがあります。
-
[InstanceIds] に、この設定で CloudWatch エージェントをインストールするインスタンス ID のカンマ区切りリストを指定します。1 つのインスタンスまたは複数のインスタンスを一覧表示できます。
-
大規模にデプロイする場合は、[TagKey] とそれに対応する [TagValue] を指定して、このタグと値を持つすべての EC2 インスタンスをターゲットにできます。[TagKey] を指定する場合は、対応する [TagValue] を指定する必要があります。(Auto Scaling グループの場合、Auto Scaling グループ内のすべてのインスタンスにデプロイするには、[TagKey] に
aws:autoscaling:groupName
を指定し、[TagValue] に Auto Scaling グループ名を指定します。)
-
-
-
設定を確認し、[スタックの作成] を選択します。
まずテンプレートファイルを編集してカスタマイズする場合は、[スタックの作成ウィザード] の [テンプレートファイルのアップロード] オプションを選択して、編集したテンプレートをアップロードします。詳細については、「AWS CloudFormation コンソールからスタックを作成する」を参照してください。次のリンクを使用して、テンプレートをダウンロードできます: https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-with-prometheus-config-1.0.0.json
注記
このステップが完了すると、この Systems Manager パラメータは、ターゲットインスタンスで実行されている CloudWatch エージェントに関連付けられます。これにより、以下のように処理されます。
-
Systems Manager パラメータが削除されると、エージェントは停止します。
-
Systems Manager パラメータを編集すると、設定の変更はスケジュールされた頻度 (デフォルトで 30 日) でエージェントに自動的に適用されます。
-
この Systems Manager パラメータに変更をすぐに適用する場合は、このステップを再度実行する必要があります。関連付けの詳細については、「Systems Manager の関連付けの使用」を参照してください。
ステップ 4: エージェントのセットアップが正しく設定されていることを確認する
CloudWatch エージェントがインストールされているかどうかは、「CloudWatch エージェントが実行されていることを確認する」の手順に従って確認できます。CloudWatch エージェントがインストールされておらず、実行されていない場合は、すべてが正しく設定されていることを確認してください。
-
「ステップ 1: ターゲット EC2 インスタンスに必要な IAM アクセス許可があることを確認する」の説明に従って、EC2 インスタンスに正しいアクセス許可を持つロールがアタッチされていることを確認してください。
-
Systems Manager パラメータの JSON が正しく設定されていることを確認してください。「AWS CloudFormation での CloudWatch エージェントのインストールのトラブルシューティング」のステップを実行してください。
すべてが正しく設定されている場合は、NGINX メトリクスが CloudWatch に公開されているはずです。CloudWatch コンソールをチェックして、公開されていることを確認します。
NGINX メトリクスが CloudWatch に公開されていることを確認するには
CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/
を開いてください。 -
[メトリクス]、[すべてのメトリクス] を選択します。
-
ソリューションをデプロイしたリージョンを選択したことを確認し、[カスタム名前空間]、[CWAgent] を選択します。
-
nginx_http_requests_total
などのメトリクスを検索します。これらのメトリクスの結果が表示された場合、メトリクスは CloudWatch に公開されています。
NGINX ソリューションダッシュボードを作成する
このソリューションが提供するダッシュボードは、すべてのインスタンスでメトリクスを集約して表示することで、NGINX ワークロードメトリクスを表示します。ダッシュボードには、各メトリクスに寄与する上位の要因 (メトリクスウィジェットあたり上位 10 件) の内訳が表示されます。これにより、観測されたメトリクスに大きく寄与する外れ値やインスタンスをすばやく特定できます。
ダッシュボードを作成するには、以下のオプションを使用できます。
CloudWatch コンソールを使用してダッシュボードを作成します。
AWS CloudFormation コンソールを使用してダッシュボードをデプロイします。
AWS CloudFormation インフラストラクチャをコードとしてダウンロードし、継続的インテグレーション (CI) オートメーションの一部として統合します。
CloudWatch コンソールを使用してダッシュボードを作成すると、実際に作成して課金される前にダッシュボードをプレビューできます。
注記
このソリューションで AWS CloudFormation を使用して作成されたダッシュボードには、ソリューションがデプロイされたリージョンのメトリクスが表示されます。NGINX メトリクスが公開されるリージョンに AWS CloudFormation スタックを必ず作成してください。
CloudWatch エージェント設定で CWAgent
以外のカスタム名前空間を指定した場合は、ダッシュボードの CloudFormation テンプレートを変更して、CWAgent
を、使用しているカスタマイズされた名前空間に置き換える必要があります。
CloudWatch コンソールを使用してダッシュボードを作成するには
-
次のリンクを使用して CloudWatch コンソール [ダッシュボードの作成] を開きます: https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=NginxOnEc2&referrer=os-catalog
。 -
コンソールで選択したリージョンが NGINX ワークロードが実行されているリージョンであることを確認します。
-
ダッシュボードの名前を入力し、[ダッシュボードの作成] を選択します。
このダッシュボードを他のリージョンの類似のダッシュボードと簡単に区別するために、
NGINXDashboard-us-east-1
のように、ダッシュボード名にリージョン名を含めることをお勧めします。 -
ダッシュボードをプレビューし、[保存] を選択してダッシュボードを作成します。
AWS CloudFormation を使用してダッシュボードを作成するには
-
次のリンクを使用して、AWS CloudFormation [スタックのクイック作成] ウィザードを開きます: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
。 -
コンソールで選択したリージョンが NGINX ワークロードが実行されているリージョンであることを確認します。
-
[スタック名] にこのスタックを識別する名前 (
NGINXDashboardStack
など) を入力します。 -
[パラメータ] セクションで、[DashboardName] パラメータにダッシュボードの名前を指定します。
-
このダッシュボードを他のリージョンの類似のダッシュボードと簡単に区別するために、
NGINXDashboard-us-east-1
のように、ダッシュボード名にリージョン名を含めることをお勧めします。 -
[機能と変換] で、変換のためのアクセス機能を承認します。CloudFormation は IAM リソースを追加しないことに注意してください。
-
設定を確認し、[スタックの作成] を選択します。
-
スタックステータスが CREATE_COMPLETE になったら、作成したスタックの [リソース] タブを選択し、[物理 ID] のリンクを選択してダッシュボードに移動します。コンソールの左側のナビゲーションペインで [ダッシュボード] を選択し、[カスタムダッシュボード] でダッシュボード名を検索することで、CloudWatch コンソールでダッシュボードにアクセスすることもできます。
まずテンプレートファイルを編集してカスタマイズする場合は、[スタックの作成ウィザード] の [テンプレートファイルのアップロード] オプションを選択して、編集したテンプレートをアップロードします。詳細については、「AWS CloudFormation コンソールからスタックを作成する」を参照してください。次のリンクを使用して、テンプレートをダウンロードできます: https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
NGINX ダッシュボードの使用を開始する
新しい NGINX ダッシュボードで試すことができるタスクをいくつか示します。これらのタスクにより、ダッシュボードが正しく機能していることの検証が可能になり、NGINX ワークロードをモニタリングするためにダッシュボードを実際に使用する経験ができます。これらを試すと、ダッシュボードの操作に慣れ、可視化されたメトリクスを解釈できるようになっていきます。
接続メトリクスを確認する
[接続] セクションには、NGINX サーバーのクライアント接続処理に関するインサイトを提供するいくつかの主要なメトリクスがあります。これらの接続メトリクスをモニタリングすると、潜在的なボトルネック、接続の問題、予期しない接続パターンを特定するのに役立ちます。
-
受け付けられたクライアント接続
-
アクティブなクライアント接続
-
処理されたクライアント接続
-
リクエストを読み取る接続
-
アイドル状態のクライアント接続
-
レスポンスを書き込む接続
HTTP リクエストボリュームを分析する
[HTTP リクエスト] セクションの request
メトリクスは、NGINX サーバーによって処理された HTTP リクエストの合計数を示しています。このメトリクスを経時的に追跡することで、NGINX インフラストラクチャの全体的なトラフィック負荷を把握し、それに応じてリソースの割り当てとスケーリングを計画できます。