CloudWatch ダッシュボード
はじめに
AWS アカウント内のリソースのインベントリ詳細、リソースのパフォーマンス、およびヘルスチェックを把握することは、安定したリソース管理にとって重要です。Amazon CloudWatch ダッシュボードは、CloudWatch コンソールでカスタマイズ可能なホームページであり、リソースが複数のアカウントにまたがっている場合や、異なるリージョンに分散している場合でも、単一のビューでリソースを監視するために使用できます。
Amazon CloudWatch ダッシュボードを使用すると、再利用可能なグラフを作成し、クラウドリソースとアプリケーションを統合ビューで可視化できます。CloudWatch ダッシュボードを通じて、メトリクスとログデータを統合ビューで並べてグラフ化することで、コンテキストを素早く把握し、問題の診断から根本原因の理解へと移行し、平均復旧時間または解決時間 (MTTR) を短縮できます。たとえば、CPU 使用率やメモリなどの主要なメトリクスの現在の使用率を可視化し、割り当てられた容量と比較できます。また、特定のメトリクスのログパターンを関連付けて、パフォーマンスや運用上の問題についてアラートを設定することもできます。CloudWatch ダッシュボードは、アラームの現在のステータスを表示することで、迅速に可視化し、アクションのための注意を促すのにも役立ちます。CloudWatch ダッシュボードの共有により、表示されたダッシュボード情報を、組織内外のチームや関係者に簡単に共有できます。
ウィジェット
デフォルトウィジェット
ウィジェットは CloudWatch ダッシュボードの構成要素であり、AWS 環境内のリソースやアプリケーションのメトリクスとログに関する重要な情報とほぼリアルタイムの詳細を表示します。お客様は、要件に応じてウィジェットを追加、削除、再配置、またはサイズ変更することで、ダッシュボードを希望する表示形式にカスタマイズできます。
ダッシュボードに追加できるグラフの種類には、Line、Number、Gauge、Stacked area、Bar、Pie があります。
Line、Number、Gauge、Stacked area、Bar、Pie などのデフォルトのウィジェットタイプは Graph タイプであり、Text、Alarm Status、Logs table、Explorer などの他のウィジェットも、メトリクスまたは Logs データを追加してダッシュボードを構築するために選択できます。

関連リファレンス:
- AWS Observability Workshop のメトリクス数値ウィジェット
- AWS Observability Workshop のテキストウィジェット
- AWS Observability Workshop のアラームウィジェット
- CloudWatch ダッシュボードでのウィジェットの作成と操作に関するドキュメント
カスタムウィジェット
お客様は、CloudWatch ダッシュボードにカスタムウィジェットを追加して、カスタム可視化を体験したり、複数のソースからの情報を表示したり、CloudWatch ダッシュボードで直接アクションを実行するボタンなどのカスタムコントロールを追加したりすることもできます。カスタムウィジェットは Lambda 関数を利用した完全なサーバーレスで、コンテンツ、レイアウト、インタラクションを完全に制御できます。カスタムウィジェットは、複雑な Web フレームワークを学習する必要なく、ダッシュボード上にカ スタムデータビューやツールを構築する簡単な方法です。Lambda でコードを記述し、HTML を作成できれば、便利なカスタムウィジェットを作成できます。

関連リファレンス:
- AWS Observability Workshop のカスタムウィジェット
- GitHub の CloudWatch Custom Widgets Samples
- ブログ: Amazon CloudWatch ダッシュボードのカスタムウィジェットの使用
自動ダッシュボード
自動ダッシュボードは、すべての AWS パブリックリージョンで利用可能で、Amazon CloudWatch 配下のすべての AWS リソースの健全性とパフォーマンスの集約されたビューを提供します。これにより、お客様は監視を迅速に開始でき、メトリクスとアラームのリソースベースのビューを利用し、パフォーマンス問題の根本原因を簡単に掘り下げて理解できます。自動ダッシュボードは、AWS サービスが推奨するベストプラクティスで事前に構築されており、リソースを認識し、重要なパフォーマンスメトリクスの最新状態を反映するように動的に更新されます。自動サービスダッシュボードは、サービスのすべての標準 CloudWatch メトリクスを表示し、各サービスメトリクスに使用されるすべてのリソースをグラフ化し、お客様がアカウント全体で外れ値のリソースを迅速に特定できるようにします。これにより、使用率が高いまたは低いリソースを特定でき、コストの最適化に役立ちます。

関連リファレンス:
- AWS Observability Workshop の自動ダッシュボード
- YouTube のAmazon CloudWatch ダッシュボードを使用した AWS リソースのモニタリング
自動ダッシュボードの Container Insights
CloudWatch Container Insights は、コンテナ化されたアプリケーションとマイクロサービスからメトリクスとログを収集、集約、要約します。Container Insights は、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)、および Amazon EC2 上の Kubernetes プラットフォームで利用できます。Container Insights は、Amazon ECS と Amazon EKS の両方について、Fargate にデプロイされたクラスターからのメトリクス収集をサポートしています。CloudWatch は、CPU、メモリ、ディスク、ネットワークなどの多くのリソースのメトリクスを自動的に収集し、コンテナの再起動失敗などの診断情報も提供することで、問題を迅速に特定して解決できるようにします。
CloudWatch は、クラスター、ノード、ポッド、タスク、およびサービスレベルで集約されたメトリクスを、埋め込みメトリクスフォーマットを使用して CloudWatch メトリクスとして作成します。これは、高カーディナリティデータを大規模に取り込んで保存できるようにする構造化 JSON スキーマを使用するパフォーマンスログイベントです。Container Insights が収集するメトリクスは、CloudWatch 自動ダッシュボードで利用でき、CloudWatch コンソールのメトリクスセクションでも表示できます。

自動ダッシュボードの Lambda Insights
CloudWatch Lambda Insights は、AWS Lambda などのサーバーレスアプリケーション向けのモニタリングおよびトラブルシューティングソリューションであり、Lambda 関数用の動的な自動ダッシュボードを作成します。また、CPU 時間、メモリ、ディスク、ネットワークなどのシステムレベルのメトリクスと、コールドスタートや Lambda ワーカーのシャットダウンなどの診断情報を収集、集約、要約し、Lambda 関数の問題を特定して迅速に解決するのに役立ちます。Lambda Insights は、関数レベルでレイヤーとして提供される Lambda 拡張機能であり、有効にすると embedded metric format を使用してログイベントからメトリクスを抽出し、エージェントを必要としません。

カスタムダッシュボード
お客様は、さまざまなウィジェットを使用して必要な数の追加ダッシュボードを作成し、それに応じてカスタマイズできるカスタムダッシュボードを作成することもできます。ダッシュボードは、クロスリージョンおよびクロスアカウントビュー用に設定でき、お気に入りリストに追加できます。

お客様は、CloudWatch コンソールのお気に入りリストに自動ダッシュボードまたはカスタムダッシュボードを追加できます。これにより、コンソールページのナビゲーションペインから簡単にアクセスできるようになります。
関連リファレンス:
- CloudWatch ダッシュボードに関する AWS Observability Workshop
- CloudWatch ダッシュボードによるモニタリングに関するパフォーマンス効率のための AWS Well-Architected Labs
Contributor Insights を CloudWatch ダッシュボードに追加する
CloudWatch はContributor Insights を提供しており、ログデータを分析して、上位 N 件のコントリビューター、一意のコントリビューターの総数、およびそれらの使用状況に関するメトリクスを表示する時系列を作成できます。これにより、最も通信量の多い送信元を見つけ、システムパフォーマンスに影響を与えているのが誰または何であるかを把握できます。たとえば、顧客は不良ホストを見つけたり、最も多くのネットワークを使用しているユーザーを特定したり、最も多くのエラーを生成している URL を見つけたりできます。
Contributor Insights レポートは、CloudWatch コンソールの新規または既存のダッシュボードに追加できます。

Application Insights を CloudWatch ダッシュボードに追加する
CloudWatch Application Insights は、AWS でホストされているアプリケーションとその基盤となる AWS リソースの可観測性を促進します。これにより、アプリケーションの健全性に対する可視性が向上し、アプリケーションの問題をトラブルシューティングする平均修復時間 (MTTR) の短縮に役立ちます。Application Insights は、監視対象のアプリケーションの潜在的な問題を示す自動化されたダッシュボードを提供し、顧客がアプリケーションとインフラストラクチャの進行中の問題を迅速に特定できるよう支援します。
以下に示すように、Application Insights 内の「Export to CloudWatch」オプションは、CloudWatch コンソールにダッシュボードを追加し、お客様が重要なアプリケーションのインサイトを簡単に監視できるようにします。

CloudWatch ダッシュボードへの Service Map の追加
CloudWatch ServiceLens は、トレース、メトリクス、ログ、アラーム、その他のリソースヘルス情報を 1 か所に統合することで、サービスとアプリケーションの可観測性を強化します。ServiceLens は CloudWatch と AWS X-Ray を統合し、アプリケーションのエンドツーエンドのビューを提供することで、お客様がパフォーマンスのボトルネックをより効率的に特定し、影響を受けるユーザーを識別できるようにします。サービスマップは、サービスエンドポイントとリソースをノードとして表示し、各ノードとその接続のトラフィック、レイテンシー、エラーを強調表示します。表示される各ノードは、サービスのその部分に関連付けられた相関メトリクス、ログ、トレースに関する詳細なインサイトを提供します。
以下に示すように、Service Map 内の「ダッシュボードに追加」オプションを使用すると、CloudWatch コンソールで新しいダッシュボードまたは既存のダッシュボードに追加でき、顧客がアプリケーションを簡単にトレースしてインサイトを得ることができます。

Metrics Explorer を CloudWatch ダッシュボードに追加する
CloudWatch の Metrics explorer は、タグベースのツールであり、お客様がタグとリソースプロパティによってメトリクスをフィルタリング、集約、視覚化して、AWS サービスの可観測性を向上させることができます。Metrics explorer は柔軟で動的なトラブルシューティング体験を提供するため、お客様は一度に複数のグラフを作成し、これらのグラフを使用してアプリケーションヘルスダッシュボードを構築できます。Metrics explorer の視覚化は動的であるため、Metrics explorer ウィジェットを作成して CloudWatch ダッシュボードに追加した後に一致するリソースが作成された場合、新しいリソースは自動的に explorer ウィジェットに表示されます。
以下に示すように、Metrics Explorer 内の「ダッシュボードに追加」オプションを使用すると、CloudWatch コンソールで新しいダッシュボードまたは既存のダッシュボードに追加でき、お客様が AWS サービスとリソースに関するグラフインサイト を簡単に取得できるようになります。

CloudWatch ダッシュボードを使用して可視化する内容
お客様は、アカウントレベルおよびアプリケーションレベルでダッシュボードを作成し、リージョンやアカウントをまたいでワークロードとアプリケーションを監視できます。お客様は CloudWatch 自動ダッシュボードを使用してすぐに開始できます。これは、サービス固有のメトリクスで事前設定された AWS サービスレベルのダッシュボードです。本番環境のアプリケーションやワークロードに関連し、重要な主要メトリクスとリソースに焦点を当てた、アプリケーションおよびワークロード固有のダッシュボードを作成することをお勧めします。
メトリクスデータの可視化
メトリクスデータは、折れ線、数値、ゲージ、積み上げ面、棒、円などのグラフウィジェットを通じて CloudWatch ダッシュボードに追加できます。これらは、平均、最小、最大、合計、サンプル数によるメトリクスの統計によってサポートされています。統計は、指定された期間におけるメトリクスデータの集計です。

メトリクス演算を使用すると、複数の CloudWatch メトリクスをクエリし、数式を使用してこれらのメトリクスに基づいた新しい時系列を作成できます。お客様は、結果として得られる時系列を CloudWatch コンソールで可視化し、ダッシュボードに追加できます。また、お客様は GetMetricDataAPI オペレーションを使用して、プログラムでメトリクス演算を実行することもできます。
追加リファレンス:
ログデータの可視化
お客様は、CloudWatch ダッシュボードで棒グラフ、折れ線グラフ、積み上げ面グラフを使用してログデータの可視化を実現し、パターンをより効率的に識別できます。CloudWatch Logs Insights は、stats 関数と棒グラフを生成できる 1 つ以上の集計関数を使用するクエリの可視化を生成します。クエリが bin() 関数を使用して時間経過に伴う 1 つのフィールドでデータをグループ化する場合、折れ線グラフと積み上げ面グラフを可視化に使用できます。
時系列データは、クエリに 1 つ以上のステータス関数の集計が含まれている場合、またはクエリが bin() 関数を使用して 1 つのフィールドでデータをグループ化している場合、特性を使用して可視化できます。
count() を統計関数として使用したサンプルクエリを以下に示します。
filter @message like /GET/
| parse @message '_ - - _ "GET _ HTTP/1.0" .*.*.*' as ip, timestamp, page, status, responseTime, bytes
| stats count() as request_count by status
上記のクエリの結果は、CloudWatch Logs Insights に以下のように表示されます。

クエリ結果を円グラフとして視覚化したものを以下に示します。

追加リファレンス:
- CloudWatch ダッシュボードでのログ結果の表示に関する AWS Observability Workshop
- Amazon CloudWatch ダッシュボードで AWS WAF ロ グを可視化する
アラームの可視化
CloudWatch のメトリクスアラームは、単一のメトリクスまたは CloudWatch メトリクスに基づく数式の結果を監視します。アラームは、一定期間におけるしきい値に対するメトリクスまたは数式の値に基づいて、1 つ以上のアクションを実行します。CloudWatch ダッシュボードには、ウィジェットに単一のアラームを追加でき、アラームのメトリクスのグラフとアラームステータスが表示されます。また、CloudWatch ダッシュボードにアラームステータスウィジェットを追加して、複数のアラームのステータスをグリッド形式で表示できます。アラーム名と現在のステータスのみが表示され、グラフは表示されません。
CloudWatch ダッシュボード内のアラームウィジェットでキャプチャされたサンプルメトリクスアラームステータスを以下に示します。

クロスアカウント & クロスリージョン
複数の AWS アカウントを持つお客様は、CloudWatch クロスアカウントオブザーバビリティを設定し、中央監視アカウントでリッチなクロスアカウントダッシュボードを作成できます。これにより、アカウントの境界を越えてメトリクス、ログ、トレースをシームレスに検索、可視化、分析できます。
お客様は、クロスアカウント・クロスリージョンダッシュボードを作成することもできます。これは、複数の AWS アカウントと複数のリージョンからの CloudWatch データを単一のダッシュボードに集約します。この高レベルのダッシュボードから、お客様はアプリケーション全体の統合ビューを取得でき、アカウントへのサインインとサインアウトやリージョン間の切り替えを行うことなく、より具体的なダッシュボードにドリルダウンすることもできます。
関連リファレンス:
- 中央の Amazon CloudWatch ダッシュボードに新しいクロスアカウント Amazon EC2 インスタンスを自動追加する方法
- マルチアカウント Amazon CloudWatch ダッシュボードをデプロイする
- YouTube のクロスアカウントおよびクロスリージョン CloudWatch ダッシュボードを作成する
ダッシュボードの共有
CloudWatch ダッシュボードは、チーム間の人々、ステークホルダー、および AWS アカウントへの直接アクセス権を持たない組織外の人々と共有できます。これらの共有ダッシュボードは、チームエリア、監視センター、ネットワークオペレーションセンター (NOC) の大画面に表示したり、Wiki やパブリック Web ページに埋め込んだりすることもできます。
ダッシュボードを簡単かつ安全に共有するには、3 つの方法があります。
- ダッシュボードは公開共有できるため、リンクを持つすべてのユーザーがダッシュボードを表示できます。
- ダッシュボードは、ダッシュボードを表示できるユーザーの特定のメールアドレスに共有できます。これらの各ユーザーは、ダッシュボードを表示するために入力する独自のパスワードを作成します。
- ダッシュボードは、シングルサインオン (SSO) プロバイダーを通じてアクセスできる AWS アカウント内で共有できます。
ダッシュボードを公開で共有する際の注意事項
CloudWatch ダッシュボードに機密情報や秘密情報が含まれている場合、ダッシュボードを公開で共有することは推奨されません。可能な限り、ダッシュボードを共有する際は、ユーザー名/パスワードまたはシングルサインオン (SSO) による認証を使用することが推奨されます。
ダッシュボードを一般公開すると、CloudWatch はダッシュボードをホストする Web ページへのリンクを生成します。Web ページを閲覧するすべてのユーザーは、一般公開されたダッシュボードのコンテンツも表示できます。Web ページは、リンクを通じて一時的な認証情報を提供し、共有するダッシュボード内のアラームとコントリビューターインサイトルールをクエリする API を呼び出すことができます。また、共有するダッシュボードに表示されていない場合でも、アカウント内のすべてのメトリクスとすべての EC2 インスタンスの名前とタグにアクセスできます。この情報を一般公開することが適切かどうかを検討することをお勧めします。
ダッシュボードの Web ページへの公開共有を有効にすると、アカウントに次の Amazon Cognito リソースが作成されることに注意してください。Cognito ユーザープール、Cognito アプリクライアント、Cognito ID プール、および IAM ロール 。
認証情報を使用してダッシュボードを共有する際の注意事項(ユーザー名とパスワードで保護されたダッシュボード)
CloudWatch ダッシュボードに、ダッシュボードを共有するユーザーと共有したくない機密情報や秘密情報が含まれている場合、ダッシュボードの共有は推奨されません。
ダッシュボードの共有が有効になっている場合、CloudWatch はダッシュボードをホストする Web ページへのリンクを生成します。上記で指定したユーザーには、次のアクセス許可が付与されます。共有するダッシュボード内のアラームとコントリビューターインサイトルールに対する CloudWatch の読み取り専用アクセス許可、および共有するダッシュボードに表示されていない場合でも、アカウント内のすべてのメトリクスとすべての EC2 インスタンスの名前とタグに対するアクセス許可。共有するユーザーがこの情報を利用できるようにすることが適切かどうかを検討することをお勧めします。
Web ページへのアクセスのために指定したユーザーに対してダッシュボードの共有を有効にすると、アカウントに次の Amazon Cognito リソースが作成されることに注意してください。Cognito ユーザープール、Cognito ユーザー、Cognito アプリクライアント、Cognito Identity プール、および IAM ロール。
SSO プロバイダーを使用してダッシュボードを共有する際の注意事項
CloudWatch ダッシュボードがシングルサインオン (SSO) を使用して共有される場合、選択された SSO プロバイダーに登録されているユーザーは、共有されているアカウント内のすべてのダッシュボードにアクセスする権限が付与され ます。また、この方法でダッシュボードの共有が無効化されると、すべてのダッシュボードが自動的に共有解除されます。
関連リファレンス:
- AWS Observability Workshop のダッシュボードの共有
- ブログ: AWS Single Sign-On を使用して Amazon CloudWatch ダッシュボードを誰とでも共有する
- ブログ: Amazon CloudWatch ダッシュボードを共有してモニタリング情報を伝達する
ライブデータ
CloudWatch ダッシュボードは、ワークロードからメトリクスが継続的に発行されている場合、メトリクスウィジェットを通じてライブデータも表示します。お客様は、ダッシュボード全体、またはダッシュボード上の個々のウィジェットに対してライブデータを有効にすることができます。
ライブデータがオフの場合、過去の少なくとも 1 分間の集計期間を持つデータポイントのみが表示されます。たとえば、5 分間隔を使用している場合、12:35 のデータポイントは 12:35 から 12:40 まで集計され、12:41 に表示されます。
ライブデータがオンの場合、対応する集計間隔でデータが発行されるとすぐに、最新のデータポイントが表示されます。表示を更新するたびに、その集計期間内に新しいデータが発行されると、最新のデータポイントが変わる可能性があります。
アニメーションダッシュボード
アニメーション化されたダッシュボードは、時間の経過とともにキャプチャされた CloudWatch メトリクスデータを再生します。これにより、トレンドの確認、プレゼンテーションの作成、または発生後の問題の分析が可能になります。ダッシュボード内のアニメーション化されたウィジェットには、折れ線ウィジェット、積み上げ面グラフウィジェット、数値ウィジェット、およびメトリクスエクスプローラーウィジェットが含まれます。円グラフ、棒グラフ、テキストウィジェット、およびログウィジェットはダッシュボードに表示されますが、アニメーション化されません。