このドキュメントでは、App Hub のアプリケーション、サービス、ワークロードの直ちに使用を開始できる(OOTB)ダッシュボードを表示する方法について説明します。これらのダッシュボードは、アプリケーションのリソースのパフォーマンスを把握し、問題を診断するのに活用できます。
これらの OOTB ダッシュボードに表示されるテレメトリーには、ログデータと指標データ、対応待ちのインシデントに関する情報が含まれます。アプリケーション ダッシュボードには、ロケーション、重大度、オーナーなどの情報が表示されます。サービスとワークロードのダッシュボードには、App Hub とインフラストラクチャのタイプに関する情報が含まれます。
アプリケーション固有のラベル
App Hub 固有のラベルを使用すると、Google Cloud Observability で OOTB ダッシュボードの階層を構築し、表示されるテレメトリーをサービスまたはワークロードにフィルタできます。これらのラベルを使用して、ログデータと指標データをフィルタリングすることもできます。
登録済みのアプリケーションがアプリケーションのモニタリングでサポートされているサービスとワークロードで実行されている場合は、アプリケーション固有のラベルがログデータと指標データに添付されます。一部の Google Cloud Managed Service for Prometheus 構成では、Prometheus 指標データにもアプリケーション ラベルが添付されます。
ログラベル
ログエントリには、アプリケーションとサービスまたはワークロードのラベルを一覧表示する apphub
フィールドが含まれています。以下に、このデータの形式を示しています。
apphub: {
application: {
id: "my-app"
location: "my-app-location"
}
workload: {
criticalityType: "MEDIUM"
environmentType: "STAGING"
id: "my-workload-id"
}
}
指標ラベル
このセクションでは、 Google Cloud リソースによって生成された指標データと、Google Cloud Managed Service for Prometheus を使用して取り込まれた Prometheus 指標に、アプリケーション固有のラベルをどのように添付するかについて説明します。以下では、a.b.{x,y}
を a.b.x
および a.b.y
として解釈します。
次の App Hub ラベルは、アプリケーションで使用される Google Cloud リソースの指標データに添付されます。
metadata.system_labels.apphub_application_{container,id,location}
metadata.system_labels.apphub_{workload,service}_{criticality_type,environment_type,id}
App Hub アプリケーション ラベルは、次のいずれかに該当する場合に Google Cloud Managed Service for Prometheus 指標に添付されます。
ワークロードがバージョン 1.30 以降の Google Kubernetes Engine クラスタで実行されており、ワークロードのコントローラ タイプが次のいずれかである。
apps.k8s.io/{Deployment,StatefulSet,DaemonSet}
batch.k8s.io/CronJob
Cloud Run で OpenTelemetry を使用する場合。
Google Kubernetes Engine で OpenTelemetry を使用し、OTLP Kubernetes Ingest のガイダンスに従う場合。
Managed Service for Prometheus は、App Hub API を使用して App Hub アプリケーションが存在するかどうかを判断します。アプリケーションが検出されると、次のアプリケーション固有のラベルがトレースデータに追加されます。
metric.labels.apphub_application_{container,id,location}
metric.labels.apphub_workload_{criticality_type,environment_type,id}
アラート ポリシーのラベル
サービスラベルとワークロード ラベルは、アラート ポリシーに自動的には添付されません。ただし、次のラベルをすべて次のキーでアラート ポリシーに添付すると、アラート ポリシーを特定のワークロードまたはサービスに関連付けることができます。
apphub_application_location
apphub_application_id
apphub_service_id
またはapphub_workload_id
アラート ポリシーに上記のキーが含まれている場合、ポリシーのインシデントは OOTB ダッシュボードに表示されます。
詳細については、アラート ポリシーをサービスまたはワークロードに関連付けるをご覧ください。
Google Cloud コンソール ナビゲーション
Google Cloud コンソールは、Google Cloud Observability ページが開かれたときに、リソース選択ツールをアプリ対応フォルダからフォルダの管理プロジェクトに自動的にリセットします。
Cloud Logging は、フォルダをリソースとしてサポートしています。たとえば、フォルダ リソースにログシンクとログバケットを作成できます。同様に、フォルダには _Default
ログバケットと _Required
ログバケットが含まれており、それらの内容を確認することもできます。フォルダ リソースにアクセスするには、リソース選択ツールを使用して、アプリ対応フォルダを手動で選択します。
始める前に
アプリケーション モニタリングを使用するには、まず App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを構成してください。これは、アプリケーションのテレメトリー データを表示するために使用するプロジェクトです。
-
ログデータと指標データを表示し、アラート ポリシーを作成してダッシュボードをカスタマイズするために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
App Hub ホスト プロジェクト、アプリ管理用フォルダの管理プロジェクト、デフォルトのログスコープが指定されている他のプロジェクトに対するログ閲覧者(
roles/logging.viewer
)。このロールには、_Default
ログバケット内のほとんどのログエントリへのアクセス権が付与されます。詳細については、Logging のロールをご覧ください。 -
App Hub ホスト プロジェクトのデフォルトのログスコープまたはアプリ対応フォルダの管理プロジェクトに一覧表示されているログビューに対するログ表示アクセス者(
roles/logging.viewAccessor
)。ログビューへのアクセス権の付与の詳細については、ログビューへのアクセスを制御するをご覧ください。 -
App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトに対するモニタリング編集者(
roles/monitoring.editor
)。アラート ポリシーまたはダッシュボードの作成や変更を行う必要がないプリンシパルには、モニタリング閲覧者ロール(roles/monitoring.viewer
)を付与することを検討してください。 -
App Hub ホスト プロジェクトまたはアプリ管理用フォルダの管理プロジェクトに対する App Hub 閲覧者ロール(
roles/apphub.viewer
)。詳細については、App Hub のロールと権限をご覧ください。
ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
-
App Hub ホスト プロジェクト、アプリ管理用フォルダの管理プロジェクト、デフォルトのログスコープが指定されている他のプロジェクトに対するログ閲覧者(
App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトのオブザーバビリティ スコープが構成されていることを確認します。詳細については、アプリケーションのモニタリングを設定するをご覧ください。
オブザーバビリティ スコープは、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトで使用できるデータを制御します。これらのスコープのデフォルト設定では、すべてのログデータまたは指標データを表示できない場合があります。
アプリケーション データをモニタリングするアラート ポリシーを更新して、アプリケーション固有のラベルが含まれるようにします。詳細については、アラート ポリシーをサービスまたはワークロードに関連付けるをご覧ください。
すべてのアプリケーションの概要を表示する
最上位の OOTB ダッシュボードには、登録済みアプリケーションの状態の概要が簡潔に表示されます。このページには、アプリケーションごとに、オープン インシデントの数と、ロケーション、重大度、環境に関する情報が一覧表示されます。
App Hub に登録されているアプリケーションの概要情報が一覧表示される最上位の OOTB ダッシュボードを開くには、次の操作を行います。
-
Google Cloud コンソールで、[アプリケーションのモニタリング] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
省略可: App Hub でアプリケーションを開くには、more_vert [その他] をクリックし、[AppHub で管理] を選択します。
アプリケーションの OOTB ダッシュボードを開くには、アプリケーションを選択します。次のセクションでは、テレメトリーを調べる方法、または解釈する方法について説明します。
アプリケーションのテレメトリーとインシデントを調べる
[アプリケーションのモニタリング] ページに一覧表示されているアプリケーションを選択すると、アプリケーションの最上位の OOTB ダッシュボードが開きます。このダッシュボードは、対応待ちのインシデントの数をまとめ、いくつかのゴールデン シグナルの値を一覧表示することで、アプリケーションの健全性を把握するのに活用できます。たとえば、このページに広範囲にわたる障害が表示される場合は、障害の原因がアプリケーションではなくインフラストラクチャである可能性があります。
アプリケーションの OOTB ダッシュボードを開く手順は次のとおりです。
-
Google Cloud コンソールで、[アプリケーションのモニタリング] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
[アプリケーションのモニタリング] ページで、アプリケーションの名前を選択します。
アプリケーションの OOTB ダッシュボードが開き、[概要] タブが選択されています。このタブには、各サービスとワークロード、対応待ちのインシデントの数、ゴールデン シグナルの値が一覧表示されます。
- トラフィック: 選択した期間のサービスまたはワークロードの受信リクエスト率。
- サーバーエラー率: 選択した期間に 5xx HTTP レスポンス コードを生成またはこのコードにマッピングされた受信リクエストの平均割合。
- P95 レイテンシ: 選択した期間に処理されたリクエストのレイテンシの 95 パーセンタイル(ミリ秒単位)。
- 飽和度: サービスまたはワークロードの飽和度を測定します。たとえば、マネージド インスタンス グループ(MIG)、Cloud Run、Google Kubernetes Engine のデプロイでは、このフィールドに CPU 使用率が表示されます。
[概要] タブでは、次のすべての操作を行うことができます。
- 期間をリセットします。ダッシュボードを開くと、期間は直近の 1 時間に設定されます。
- オペレーター、デベロッパー、ビジネス オーナーなど、アプリケーションに関する情報を表示します。
- App Hub でアプリケーション、サービス、またはワークロードを開きます。
- サービスまたはワークロードのダッシュボードを開きます。
アプリケーションのテレメトリーと対応待ちのインシデントに関する情報を表示するには、[ダッシュボード] タブを選択します。
[ダッシュボード] タブには、ログ、指標、インシデントの情報が表示されます。このタブは、グラフにイベント アノテーションをオーバーレイするように構成されています。アノテーションは、問題のトラブルシューティングを行う際に、さまざまなソースのデータを関連付けるために活用できます。有効になっているアノテーションを表示するには、ツールバーで
[アノテーション] をクリックします。
このタブにはフィルタも配置されています。このフィルタを使用して、タブに表示されるデータを制限できます。このタブに表示されるデータを調べる方法について詳しくは、このドキュメントの次の各セクションをご覧ください。
ダッシュボードをフィルタする
[ダッシュボード] タブには、アプリケーション内のサービスとワークロードのデータが表示されます。ただし、このダッシュボードを特定のサービスまたはサービスセットにフィルタリングすることはできます。
たとえば、[ダッシュボード] タブのツールバーには、apphub_service_id: *
などのフィルタが配置されています。特定のサービスのデータを表示するには、arrow_drop_down [メニュー] をクリックし、リストから該当するサービスを選択します。
ログデータを調べる
アプリケーション ダッシュボードの [ダッシュボード] タブを表示している場合、ログデータは [アプリケーション ログ] セクションに表示されます。それ以外の場合は、データが [ログ] セクションに表示されます。
ダッシュボードの [アプリケーション ログ] セクションと [ログ] セクションには、フィルタに一致し、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトのデフォルトのログスコープに一覧表示されているリソースによって保存されているログエントリが表示されます。アプリケーションの場合、フィルタは次のようになります。
-- Application logs
(apphub_application_location=global)
(apphub_application_id=my-app)
サービスとワークロードの場合、フィルタには追加の句が含まれています。ログデータに適用されたフィルタを確認するには、[クエリを表示] をクリックします。
クエリを記述する場合は、フライアウトを開くか、[ログ エクスプローラ] ページを開きます。どちらのオプションでも、クエリの作成と実行、スコープの変更を行うことができます。ただし、フライアウトには現在のコンテキストが保持され、データ探索の結果をカスタム ダッシュボードに保存できます。
フライアウトを開くには、query_stats [データを探索] をクリックします。
データ探索が完了したら、[キャンセル] をクリックしてフライアウトを閉じ、変更内容を破棄します。変更内容をカスタム ダッシュボードに保存するには、[ダッシュボードに保存] をクリックしてダイアログを完了します。フライアウトを開いたときに表示していたダッシュボードに変更内容を保存することはできません。
フライアウトには [クエリを表示] ボタンで表示されるフィルタは表示されません。これらのフィルタはダッシュボード レベルで適用され、削除できません。
新しいブラウザタブで [ログ エクスプローラ] ページを開くには、[ログ エクスプローラで表示] をクリックします。
このクエリは、特定のアプリケーション ラベルに一致し、ダッシュボードで指定された期間内のログエントリを表示するように事前構成されています。ブラウザタブを閉じると、変更内容は破棄されます。
ログを調べる方法の詳細については、次の各ドキュメントをご覧ください。
指標データを調べる
ダッシュボードのグラフと表には、アプリケーション、サービス、ワークロードで使用されているリソースに関連するゴールデン シグナルなどの指標データが表示されます。表示されるデータは、App Hub ホスト プロジェクトの指標スコープまたはアプリ対応フォルダの管理プロジェクトで一覧表示されている任意のプロジェクトに保存できます。
指標データを表示するグラフや表には、指標タイプや集計オプションなどの詳細を表示できます。この情報を表示するには、グラフまたは表のツールバーに移動し、info [情報] をクリックします。
グラフや表を詳しく調べるには、フライアウトを開くか、[Metrics Explorer] ページを開きます。どちらのオプションでも、さまざまなグラフ設定を試して、結果をカスタム ダッシュボードに保存できます。ただし、フライアウトには現在のコンテキストが保持されます。
フライアウトを開くには、query_stats [データを探索] をクリックします。
データ探索が完了したら、[キャンセル] をクリックしてフライアウトを閉じ、変更内容を破棄します。変更内容をカスタム ダッシュボードに保存するには、[ダッシュボードに保存] をクリックしてダイアログを完了します。フライアウトを開いたときに表示していたダッシュボードに変更内容を保存することはできません。
Metrics Explorer でグラフまたは表を表示するには、ツールバーに移動し、more_vert [その他] をクリックして、[Metrics Explorer で表示する] を選択します。
これで一時的なグラフが作成され、これを変更して詳細を確認できます。たとえば、集計オプションや表示スタイルを変更できます。グラフをカスタム ダッシュボードに保存するには、[ダッシュボードに保存] をクリックして、
インシデントを調べる
ダッシュボードの [アラート] セクションには、サービスまたはワークロードに関連付けられているアラート ポリシーの最近のインシデントが表示されます。これらのアラート ポリシーは、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトに保存する必要があります。
[アラート] セクションにエントリが表示されない場合は、サービスまたはワークロードに関連付けられたアラート ポリシーがありません。この関連付けを作成するには、ポリシーにラベルを追加します。詳細については、アラート ポリシーをサービスまたはワークロードに関連付けるをご覧ください。
インシデントやアラート ポリシーの詳細を確認するには、次の操作を行います。
インシデントの原因となったアラート ポリシーの詳細を確認するには、ポリシー名をクリックします。開いたダッシュボードには、モニタリング対象のデータとラベルを示すグラフなど、アラート ポリシーに関する詳細情報が表示されます。
アプリケーションに関連付けられているすべてのアラート ポリシーを表示するには、ツールバーに移動して query_stats [エクスプローラのデータ] をクリックします。すべてのポリシーが一覧表示されるフライアウトが開きます。ダッシュボードに戻るには、[キャンセル] をクリックします。
サービスまたはワークロードのテレメトリーとインシデントを調べる
サービスとワークロードごとに OOTB ダッシュボードが用意されています。これらのダッシュボードには、ログ、指標、インシデントの情報が表示され、特定のサービスまたはワークロードの健全性を把握する際に活用できます。これらの OOTB ダッシュボードのデータは、アプリケーションの [ダッシュボード] タブに表示されるデータと同様に調べることができます。
サービスまたはワークロードの OOTB ダッシュボードを開く手順は次のとおりです。
-
Google Cloud コンソールで、[アプリケーションのモニタリング] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
[アプリケーションのモニタリング] ページで、アプリケーションの名前を選択し、サービスまたはワークロードを選択します。
ダッシュボードには、選択したサービスまたはワークロードのログ、指標、インシデント情報が表示されます。ワークロードの場合、ダッシュボードはグラフにイベント アノテーションをオーバーレイするように構成されています。アノテーションは、問題のトラブルシューティングを行う際に、さまざまなソースのデータを関連付けるために活用できます。有効になっているアノテーションを表示するには、ツールバーで
[アノテーション] をクリックします。
サービスまたはワークロードのダッシュボードでデータを調べる方法については、このドキュメントの次の各セクションをご覧ください。
カスタム ダッシュボードを作成する
Google Cloud Observability は、ダッシュボードのコンテンツを完全に制御できるカスタム ダッシュボードの作成をサポートしています。カスタム ダッシュボードは、 Google Cloud コンソールの [ダッシュボード] ページに表示され、コピー、編集、削除が可能です。構成したダッシュボード ウィジェットを保存する場所として使用することもできます。たとえば、アプリケーション ダッシュボードでグラフを調べている場合は、ツールバーに移動して [ダッシュボードに保存] を選択すると、対象のグラフをカスタム ダッシュボードに保存できます。
アプリケーション、サービス、ワークロードのカスタム ダッシュボードを作成する予定がある場合は、次の情報が役に立つ可能性があります。
ダッシュボードの概要ドキュメントでは、ウィジェット タイプの概要と、タスクベースのガイダンスへのリンクを確認できます。
カスタム ダッシュボードにはダッシュボード レベルのフィルタを追加できます。これらのフィルタを使用すると、個別のウィジェットにフィルタを追加するよりも効率的で柔軟なフィルタリングが可能になります。フィルタはラベルに基づいています。ラベルの一覧については、このドキュメントのアプリケーション固有のラベルセクションをご覧ください。
既存のテンプレートに必要なコンテンツがほぼ含まれているかどうかを検討します。テンプレートを保存する GitHub リポジトリへのリンクなど、詳細については、ダッシュボード テンプレートをインストールするをご覧ください。
アラート ポリシーを App Hub アプリケーションに関連付ける
アラート ポリシーにアプリケーション固有のラベルを追加することで、アラート ポリシーをサービスまたはワークロードに関連付けます。これらのラベルを追加すると、アラート ポリシーに表示され、インシデントにも含まれます。ラベルの詳細については、インシデントにラベルでアノテーションを付けるをご覧ください。
Google Cloud コンソールを使用してアラート ポリシーをワークロードまたはサービスに関連付けるには、次の操作を行います。
-
Google Cloud コンソールで、[notifications アラート] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
- アラート ポリシーを見つけて、more_vert [さらに表示] をクリックし、[編集] を選択して、[通知と名前] セクションに移動します。
- [アプリケーション ラベル] セクションで、アプリケーションを選択してから、ワークロードまたはサービスを選択します。
- [ポリシーを保存] をクリックします。
これらの手順を完了すると、次のキーを持つラベルがアラート ポリシーに添付されます。これらのラベルは、アプリケーションとサービスまたはワークロードを識別します。
apphub_application_location
apphub_application_id
apphub_service_id
またはapphub_workload_id
Google Cloud CLI、Terraform、または Cloud Monitoring API を使用して、アラート ポリシーにユーザーラベルを追加することもできます。ただし、前述の例に示したラベルキーを使用する必要があります。詳しくは以下をご覧ください。
トラブルシューティング
表示されているデータやダッシュボードにデータが表示されない理由を判断するための情報については、アプリケーション モニタリングのトラブルシューティングをご覧ください。