アプリケーションのテレメトリーを表示する

このドキュメントでは、App Hub アプリケーション、サービス、ワークロードのすぐに使える(OOTB)ダッシュボードを表示する方法について説明します。これらのダッシュボードは、アプリケーションのリソースのパフォーマンスを把握し、問題を診断するのに役立ちます。

これらの OOTB ダッシュボードに表示されるテレメトリーには、ログデータと指標データ、対応待ちのインシデントに関する情報が含まれます。アプリケーション ダッシュボードには、ロケーション、重大度、オーナーなどの情報が表示されます。サービスとワークロードのダッシュボードには、App Hub とインフラストラクチャのタイプに関する情報が含まれています。

アプリケーション固有のラベル

App Hub 固有のラベルを使用すると、Google Cloud Observability で OOTB ダッシュボードの階層を構築し、表示されるテレメトリーをサービスまたはワークロードにフィルタできます。これらのラベルを使用して、ログデータと指標データをフィルタすることもできます。これらのラベルは、App Hub と統合されたリソースでアプリが実行されるときに適用されます。 Google Cloudこれらのラベルは、Google Cloud Managed Service for 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.xa.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 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 閲覧者。詳細については、App Hub のロールと権限をご覧ください。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

  • App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトのオブザーバビリティ スコープが構成されていることを確認します。詳細については、アプリケーション モニタリングを設定するをご覧ください。

    オブザーバビリティ スコープは、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトで使用できるデータを制御します。これらのスコープのデフォルト設定では、すべてのログデータまたは指標データを表示できない場合があります。

  • アプリケーション データをモニタリングするアラート ポリシーを更新して、アプリケーション固有のラベルを含めます。詳細については、アラート ポリシーをサービスまたはワークロードに関連付けるをご覧ください。

すべてのアプリケーションの概要を表示する

最上位の OOTB ダッシュボードには、登録済みアプリケーションの状態の概要が表示されます。このページには、アプリケーションごとに、オープン インシデントの数と、ロケーション、重大度、環境に関する情報が一覧表示されます。

App Hub に登録されているアプリの概要情報が一覧表示される最上位の OOTB ダッシュボードを開くには、次の操作を行います。

  1. Google Cloud コンソールで、[Application monitoring] ページに移動します。

    [アプリケーション モニタリング] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。

  3. 省略可: App Hub でアプリケーションを開くには、 [その他] をクリックし、[AppHub で管理] を選択します。

  4. アプリケーションの OOTB ダッシュボードを開くには、アプリケーションを選択します。次のセクションでは、テレメトリーを調べたり解釈したりする方法について説明します。

アプリケーションのテレメトリーとインシデントを調べる

[アプリケーションのモニタリング] ページに表示されているアプリケーションを選択すると、アプリケーションのトップレベルの OOTB ダッシュボードが開きます。このダッシュボードは、対応待ちのインシデントの数をまとめ、いくつかのゴールデン シグナルの値を一覧表示することで、アプリケーションの健全性を把握するのに役立ちます。たとえば、このページに広範囲にわたる障害が表示される場合は、障害の原因がアプリケーションではなくインフラストラクチャにある可能性があります。

アプリケーションの OOTB ダッシュボードを開く手順は次のとおりです。

  1. Google Cloud コンソールで、[Application monitoring] ページに移動します。

    [アプリケーション モニタリング] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  3. [アプリケーション モニタリング] ページで、アプリケーションの名前を選択します。

    アプリケーションの OOTB ダッシュボードが開き、[概要] タブが選択されています。このタブには、各サービスとワークロード、オープン インシデントの数、ゴールドシグナルの値が一覧表示されます。

    • トラフィック: 選択した期間のリソースの受信リクエスト率。
    • サーバー エラー率: 選択した期間に 5xx シリーズの HTTP エラーコードを生成する、または 5xx シリーズの HTTP エラーコードにマッピングされる受信リクエストの平均割合。
    • P95 レイテンシ: 選択した期間に集約されたサービス リクエストのレイテンシの 95 パーセンタイル(ミリ秒単位)。
    • 飽和: サービスまたはワークロードの「フル」度を測定します。マネージド インスタンス グループ(MIG)、Cloud Run、Google Kubernetes Engine デプロイメントなどのコンピューティング ベースのリソースに依存するサービスとワークロードの場合、このフィールドには CPU 使用率が表示されます。

    [概要] タブでは、次の操作を行うことができます。

    • 期間をリセットします。ダッシュボードを開くと、時間範囲は直近の 1 時間に設定されます。
    • オペレーター、デベロッパー、ビジネス オーナーなど、アプリケーションに関する情報を表示します。
    • App Hub でアプリケーション、サービス、ワークロードを開きます。
    • サービスまたはワークロードのダッシュボードを開きます。
  4. アプリケーション テレメトリーとオープン インシデントに関する情報を表示するには、[ダッシュボード] タブを選択します。

    [ダッシュボード] タブには、ログ、指標、インシデントの情報が表示されます。このタブにはフィルタも含まれています。このフィルタを使用して、タブに表示されるデータを制限できます。このタブを調べる方法については、このドキュメントの次のセクションをご覧ください。

ダッシュボードをフィルタする

[ダッシュボード] タブには、アプリケーション内のサービスとワークロードのデータが表示されます。ただし、このダッシュボードを特定のサービスまたはサービスセットにフィルタリングすることはできます。

たとえば、[ダッシュボード] タブのツールバーには、apphub_service_id: * などのフィルタが含まれています。特定のサービスのデータを確認するには、[ メニュー] をクリックし、リストから該当するサービスを選択します。

ログデータを調べる

アプリケーション ダッシュボードの [ダッシュボード] タブを表示している場合、ログデータは [アプリケーション ログ] セクションに表示されます。そうでない場合は、データが [ログ] セクションに表示されます。

ダッシュボードの [アプリケーション ログ] セクションと [ログ] セクションには、フィルタに一致し、App Hub ホスト プロジェクトのデフォルトのログスコープまたはアプリ対応フォルダの管理プロジェクトにリストされているリソースによって保存されているログエントリが表示されます。アプリケーションの場合、フィルタは次のようになります。

-- Application logs
(apphub_application_location=global)
(apphub_application_id=my-app)

サービスとワークロードの場合、フィルタには追加の句が含まれています。ログデータに適用されたフィルタを確認するには、[クエリを表示] をクリックします。

クエリを記述する場合は、フライアウトを開くか、[ログ エクスプローラ] ページを開きます。どちらのオプションでも、クエリの作成と実行、スコープの変更を行うことができます。ただし、フライアウトでは現在のコンテキストが保持され、データ探索の結果をカスタム ダッシュボードに保存できます。

  • フライアウトを開くには、[ データの探索] をクリックします。

    データ探索が完了したら、[キャンセル] をクリックしてフライアウトを閉じ、変更を破棄します。変更内容をカスタム ダッシュボードに保存するには、[ダッシュボードに保存] をクリックしてダイアログを完了します。フライアウトを開いたときに表示していたダッシュボードに変更を保存することはできません。

    フライアウトに [クエリを表示] ボタンで表示されるフィルタが表示されません。これらのフィルタはダッシュボード レベルで適用され、削除できません。

  • 新しいブラウザタブで [ログ エクスプローラ] ページを開くには、[ログ エクスプローラで表示] をクリックします。

    このクエリは、特定のアプリケーションラベルに一致し、ダッシュボードで指定された期間内のログエントリを表示するように事前構成されています。ブラウザタブを閉じると、変更内容は破棄されます。

ログを調べる方法の詳細については、次のドキュメントをご覧ください。

指標データを調べる

ダッシュボードのグラフと表には、アプリケーション、サービス、ワークロードで使用されるリソースに関連するゴールデン シグナルなどの指標データが表示されます。表示されるデータは、App Hub ホスト プロジェクトの指標スコープまたはアプリ対応フォルダの管理プロジェクトでリストされている任意のプロジェクトに保存できます。

指標データを表示するグラフや表では、指標の種類や集計オプションなどの詳細を表示できます。この情報を表示するには、グラフまたは表のツールバーに移動し、[情報] をクリックします。

グラフや表を詳しく調べるには、フライアウトを開くか、Metrics Explorer ページを開きます。どちらのオプションでも、さまざまなグラフ設定を試して、結果をカスタム ダッシュボードに保存できます。ただし、フライアウトには現在のコンテキストが保持されます。

  • フライアウトを開くには、[ データの探索] をクリックします。

    データ探索が完了したら、[キャンセル] をクリックしてフライアウトを閉じ、変更を破棄します。変更内容をカスタム ダッシュボードに保存するには、[ダッシュボードに保存] をクリックしてダイアログを完了します。フライアウトを開いたときに表示していたダッシュボードに変更を保存することはできません。

  • Metrics Explorer でグラフまたは表を表示するには、ツールバーに移動し、 [その他] をクリックして、[Metrics Explorer で表示する] を選択します。

    これで、変更して探索できる一時的なグラフが作成されました。たとえば、集計オプションや表示スタイルを変更できます。グラフをカスタム ダッシュボードに保存するには、[ダッシュボードに保存] をクリックして、

インシデントを調べる

ダッシュボードの [アラート] セクションには、サービスまたはワークロードに関連付けられているアラート ポリシーの最近のインシデントが表示されます。これらのアラート ポリシーは、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトに保存する必要があります。

[アラート] セクションにエントリが表示されない場合は、サービスまたはワークロードに関連付けられたアラート ポリシーがありません。この関連付けを作成するには、ポリシーにラベルを追加します。詳細については、アラート ポリシーをサービスまたはワークロードに関連付けるをご覧ください。

インシデントやアラート ポリシーの詳細を確認するには、次の操作を行います。

  • インシデントの原因となったアラート ポリシーの詳細を確認するには、ポリシー名をクリックします。開いたダッシュボードには、モニタリング対象のデータとラベルを示すグラフなど、アラート ポリシーに関する詳細情報が表示されます。

  • アプリケーションに関連付けられているすべてのアラート ポリシーを表示するには、ツールバーに移動して [エクスプローラのデータ] をクリックします。すべてのポリシーが一覧表示されたフライアウトが開きます。ダッシュボードに戻るには、[キャンセル] をクリックします。

サービスまたはワークロードのテレメトリーとインシデントを調べる

サービスとワークロードごとに OOTB ダッシュボードが用意されています。これらのダッシュボードには、ログ、指標、インシデント情報が表示されます。特定のサービスまたはワークロードの健全性を把握するのに役立ちます。これらの OTB ダッシュボードのデータは、アプリケーションの [ダッシュボード] タブに表示されるデータと同様に探索できます。

サービスまたはワークロードの OOTB ダッシュボードを開く手順は次のとおりです。

  1. Google Cloud コンソールで、[Application monitoring] ページに移動します。

    [アプリケーション モニタリング] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  3. [アプリケーション モニタリング] ページで、アプリケーションの名前を選択し、サービスまたはワークロードを選択します。

    ダッシュボードには、選択したサービスまたはワークロードのログ、指標、インシデント情報が表示されます。このデータの探索方法については、このドキュメントの次のセクションをご覧ください。

カスタム ダッシュボードを作成する

Google Cloud Observability は、ダッシュボードのコンテンツを完全に制御できるカスタム ダッシュボードの作成をサポートしています。カスタム ダッシュボードは、Google Cloud コンソールの [ダッシュボード] ページに表示され、コピー、編集、削除が可能です。構成したダッシュボード ウィジェットを保存する場所として使用することもできます。たとえば、アプリケーション ダッシュボードでグラフを調べている場合は、ツールバーに移動して [ダッシュボードに保存] を選択すると、そのグラフをカスタム ダッシュボードに保存できます。

アプリケーション、サービス、ワークロードのカスタム ダッシュボードを作成する場合は、次の点に注意してください。

アラート ポリシーを App Hub アプリケーションに関連付ける

アラート ポリシーにアプリケーション固有のラベルを追加することで、アラート ポリシーをサービスまたはワークロードに関連付けます。これらのラベルを追加すると、アラート ポリシーに表示され、インシデントに含まれます。ラベルの詳細については、インシデントにラベルでアノテーションを付けるをご覧ください。

Google Cloud コンソールを使用してアラート ポリシーをワークロードまたはサービスに関連付けるには、次の操作を行います。

  1. Google Cloud コンソールで、 [アラート] ページに移動します。

    [アラート] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. Google Cloud コンソールのツールバーで、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  3. アラート ポリシーを見つけて、 [その他] をクリックし、[編集] を選択して、[通知と名前] セクションに移動します。
  4. [アプリケーション ラベル] セクションで、アプリケーションを選択してから、ワークロードまたはサービスを選択します。
  5. [ポリシーを保存] をクリックします。

これらの手順を完了すると、次のキーを持つラベルがアラート ポリシーにアタッチされます。これらのラベルは、アプリケーションとサービスまたはワークロードを識別します。

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id または apphub_workload_id

Google Cloud CLI、Terraform、または Cloud Monitoring API を使用して、アラート ポリシーにユーザーラベルを追加することもできます。ただし、前の例に示したラベルキーを使用する必要があります。詳しくは以下をご覧ください。

トラブルシューティング

表示されているデータや、ダッシュボードにデータが表示されない理由を把握するうえで役立つ情報については、アプリケーション モニタリングのトラブルシューティングをご覧ください。