Amazon CloudWatch ダッシュボードの使用 - Amazon CloudWatch

Amazon CloudWatch ダッシュボードの使用

Amazon CloudWatch ダッシュボードは、CloudWatch コンソールにあるカスタマイズ可能なホームページであり、ダッシュボードを使用すれば、異なるリージョンにまたがっているリソースでも、1 つのビューでモニターリングできます。CloudWatch ダッシュボードを使用して、AWS リソースのメトリクスおよびアラームをカスタマイズした状態で表示することができます。

ダッシュボードでは、以下を作成することが可能です。

  • 選択されたメトリクスとアラームのための単一ビュー。これは、1 つ、または複数のリージョン全体のリソースとアプリケーションの正常性を評価するために役立ちます。各グラフのメトリクスごとに使用する色を選択できるため、複数のグラフにわたる同一のメトリクスを追跡しやすくなります。

  • 操作イベント中の特定の問題への対処法に関して、チームのメンバーにガイダンスを提供する運営計画。

  • 重要なリソースとアプリケーション測定の共通表示。これをチームメンバー間で共有して操作イベント中のコミュニケーションフローを円滑化できます。

複数の AWS アカウントをお持ちの場合は、CloudWatch クロスアカウントオブザーバビリティを設定してから、モニタリングアカウントに高度なクロスアカウントダッシュボードを作成します。アカウントの境界なしに、メトリクス、ログ、トレースをシームレスに検索、可視化、分析できます。

CloudWatch クロスアカウントオブザーバビリティでは、モニタリングアカウントのダッシュボードで次の操作を行うことができます。

  • ソースアカウントにあるメトリクスのグラフを検索、表示、作成する。1 つのグラフに複数のアカウントのメトリクスを含めることができます。

  • ソースアカウントのメトリクスを監視するアラームをモニタリングアカウントに作成する。

  • ソースアカウントにあるロググループのログイベントを表示し、ソースアカウントのロググループの CloudWatch Logs Insights クエリを実行する。モニタリングアカウントの CloudWatch Logs Insights クエリを 1 回実行すると、複数のソースアカウントの複数のロググループに同時にクエリを実行できます。

  • X-Ray のトレースマップでソースアカウントのノードを表示します。その後、マップを特定のソースアカウントにフィルタリングできます。

モニタリングアカウントにサインインすると、CloudWatch クロスアカウントオブザーバビリティ機能をサポートするすべてのページの右上に青色の [Monitoring account] (モニタリングアカウント) バッジが表示されます。

CloudWatch クロスアカウントオブザーバビリティの設定の詳細については、「CloudWatch のクロスアカウントオブザーバビリティ」を参照してください。

ダッシュボードは、コンソールから作成するか、AWS CLI または PutDashboard API オペレーションを使用して作成できます。ダッシュボードをお気に入りリストに追加することで、お気に入りのダッシュボードだけでなく、最近アクセスしたダッシュボードにもアクセスできます。詳細については、「[Favorites] (お気に入り) リストにダッシュボードを追加する」を参照してください。

CloudWatch ダッシュボードにアクセスするには、次のいずれかが必要です。

  • AdministratorAccess ポリシー

  • CloudWatchFullAccess ポリシー

  • これらの特定のアクセス許可の 1 つ以上を含むカスタムポリシー。

    • ダッシュボードを表示できるようにするには cloudwatch:GetDashboardcloudwatch:ListDashboards

    • ダッシュボードを作成または変更できるようにするには cloudwatch:PutDashboard

    • cloudwatch:DeleteDashboardsダッシュボードを削除できるようにするには 。

プログラムを使用してクロスアカウントクロスリージョンダッシュボードを作成する

AWS API と SDK を使用して、プログラムによりダッシュボードを作成できます。詳細については、「PutDashboard」を参照してください。

クロスアカウントクロスリージョンダッシュボードを有効にするため、次の表と例に示すように、ダッシュボードの本文構造に新しいパラメータを追加しました。ダッシュボード本体構造全体の詳細については、「ダッシュボードの本文構造と構文」を参照してください。

Parameter 以下を使用 スコープ デフォルト

accountId

ウィジェットまたはメトリクスが配置されているアカウントの ID を指定します。

ウィジェットまたはメトリクス

現在ログインしているアカウント

region

メトリクスのリージョンを指定します。

ウィジェットまたはメトリクス

コンソールで選択されている現在のリージョン

次の例は、クロスアカウントクロスリージョンダッシュボードのウィジェットの JSON ソースを示しています。

この例では、ウィジェットレベルで accountId フィールドを共有アカウントの ID に設定します。これにより、このウィジェットのすべてのメトリクスをその共有アカウントとリージョンから取得するよう指定されます。

{ "widgets": [ { ... "properties": { "metrics": [ … ], "accountId": "111122223333", "region": "us-east-1" } } ] }

この例では、各メトリクスのレベルごとに異なる accountId フィールドを設定します。この例では、このメトリクスの数学式のさまざまなメトリクスが、さまざまな共有アカウントとさまざまなリージョンから取得されています。

{ "widgets": [ { ... "properties": { "metrics": [ [ { "expression": "SUM(METRICS())", "label": "[avg: ${AVG}] Expression1", "id": "e1", "stat": "Sum" } ], [ "AWS/EC2", "CPUUtilization", { "id": "m2", "accountId": "5555666677778888", "region": "us-east-1", "label": "[avg: ${AVG}] ApplicationALabel " } ], [ ".", ".", { "id": "m1", "accountId": "9999000011112222", "region": "eu-west-1", "label": "[avg: ${AVG}] ApplicationBLabel" } ] ], "view": "timeSeries", "region": "us-east-1", ---> home region of the metric. Not present in above example "stacked": false, "stat": "Sum", "period": 300, "title": "Cross account example" } } ] }

この例は、アラームウィジェットを示しています。

{ "type": "metric", "x": 6, "y": 0, "width": 6, "height": 6, "properties": { "accountID": "111122223333", "title": "over50", "annotations": { "alarms": [ "arn:aws:cloudwatch:us-east-1:379642911888:alarm:over50" ] }, "view": "timeSeries", "stacked": false } }

この例は、CloudWatch Logs Insights ウィジェットの場合です。

{ "type": "log", "x": 0, "y": 6, "width": 24, "height": 6, "properties": { "query": "SOURCE 'route53test' | fields @timestamp, @message\n| sort @timestamp desc\n| limit 20", "accountId": "111122223333", "region": "us-east-1", "stacked": false, "view": "table" } }

プログラムによりダッシュボードを作成するもう 1 つの方法として、最初にAWS Management Consoleでダッシュボードを作成し、次にこのダッシュボードの JSON ソースをコピーできます。これを行うには、ダッシュボードをロードし、[アクション]、[ソースの表示/編集] の順に選択します。その後、このダッシュボード JSON をコピーして、同様のダッシュボードを作成するためのテンプレートとして使用できます。

CloudWatch ダッシュボードでのさまざまなアカウントとリージョンのメトリクスを使用したグラフの作成

  1. モニタリングアカウントにサインインします。

  2. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  3. ナビゲーションペインで、[Metrics] (メトリクス)、[All metrics] (すべてのメトリクス) の順に選択します。

  4. メトリクスの追加元のアカウントとリージョンを選択します。アカウントとリージョンは、画面の右上にあるアカウントとリージョンのドロップダウンメニューから選択できます。

  5. 必要なメトリクスをグラフを追加します。詳細については、「メトリクスのグラフ化」を参照してください。

  6. ステップ 4 ~ 5 を繰り返して、他のアカウントとリージョンからメトリクスを追加します。

  7. (オプション) [Graphed metrics] タブを選択し、選択したメトリクスを使用するメトリクス数学関数を追加します。詳細については、「CloudWatch メトリクスでの数式の使用」を参照してください。

    1 つのグラフを設定して、複数の SEARCH 関数を含めることもできます。各検索では、異なるアカウントまたはリージョンを参照できます。

  8. グラフの作成が完了したら、[アクション]、[ダッシュボードに追加] の順に選択します。

    クロスアカウントダッシュボードを選択し、[ダッシュボードに追加] を選択します。