Google Cloud Observability には、エージェント アプリケーションを含むアプリケーションの動作、健全性、パフォーマンスの把握に役立つオブザーバビリティ サービスが含まれています。アプリケーションの動作やコンポーネントの接続の状態を把握することで、予期しない変更を迅速かつ効果的に予測して特定し、対応することができます。
このドキュメントには、次の情報が含まれています。
- オブザーバビリティ、エージェントのオブザーバビリティ、アプリケーションのオブザーバビリティと APM などの用語の定義。
- 信頼性の高いアプリケーションの開発とメンテナンスにおけるオブザーバビリティ サービスのメリット。
- Google Cloud Observability でアプリケーションとインフラストラクチャの健全性をモニタリングし、維持する方法。
- Google Cloudでオブザーバビリティ機能の利用を開始する手順。
オブザーバビリティ
オブザーバビリティは、テレメトリー データを収集、分析する包括的なアプローチです。これにより、エージェント アプリケーションを含むアプリケーションの状態と、その動作環境を把握できます。テレメトリー データには、ログデータ、指標データ、トレースデータが含まれます。また、プロンプトやレスポンスなど、アプリケーションが生成する他のデータも含まれる場合があります。テレメトリー データは、アプリケーションの健全性とパフォーマンスを把握するために必要な情報を提供します。
- 指標データ
- 指標データは、CPU 使用率やリクエスト レイテンシなど、システムが一定の間隔で測定する健全性またはパフォーマンスに関する数値データです。指標データに予期しない変化があった場合は、調査が必要な問題が発生している可能性があります。パターンを経時的に分析することで、使用パターンを理解し、リソースのニーズを予測することもできます。
- ログデータ
ログとは、システムまたはアプリケーションのアクティビティを経時的に生成し、記録したものです。各ログは、タイムスタンプ付きのログエントリのコレクションであり、各ログエントリは特定のイベントを表します。
多くの場合、ログデータには豊富な詳細情報が含まれており、アプリケーションの特定の部分で何が起きたのかを理解する上で役立ちます。ただし、ログデータでは、1 つのアプリケーション コンポーネントの変更が他のコンポーネントのアクティビティとどのように関連しているのかを効果的に把握できません。トレースデータは、このギャップを埋めることができます。
- トレース データ
トレースは、分散アプリケーションのコンポーネント全体におけるリクエストのパスを表します。つまり、各トレースは単一のエンドツーエンドのオペレーションを表します。トレースはスパンで構成されています。これは、単一の関数またはオペレーションの記録です。これにより、リクエストのフローを追跡し、レイテンシ データを調べることができます。この情報は、問題の根本原因を特定するのに役立ちます。
エージェント型アプリケーションの場合、トレースはエージェントが実行するアクションをキャプチャします。たとえば、トレースで MCP 呼び出しをキャプチャできます。
- その他のデータ
ログデータ、指標データ、トレースデータを他の関連情報とともに分析することで、追加の分析情報を得ることができます。たとえば、アラートの重大度を示すラベルや、ログデータ内の顧客 ID は、トラブルシューティングやデバッグに役立つコンテキストを提供します。
エージェントのオブザーバビリティ
エージェントのオブザーバビリティとは、ソフトウェア エージェント(特に大規模言語モデル(LLM)を使用して構築された AI 搭載エージェント)の内部状態と動作を理解する方法を指します。AI エージェントは非決定論的で複雑です。したがって、パフォーマンス、安全性、信頼性を理解、デバッグ、評価、改善するには、オブザーバビリティが不可欠です。
Google Cloud は、アプリケーション モニタリングによるアプリケーション オブザーバビリティをサポートしています。これにより、テレメトリー データ、AI リソース指標データ、対応待ちのアラートなどの情報を表示するダッシュボードが作成されます。詳細については、このドキュメントの Google Cloudのエージェントとアプリケーションのオブザーバビリティをご覧ください。
アプリケーションのオブザーバビリティと APM
アプリケーション パフォーマンス モニタリング(APM)は、エージェント アプリケーションを含むソフトウェア アプリケーションのパフォーマンス、可用性、ユーザー エクスペリエンスをモニタリング、診断、管理します。APM システムは通常、テレメトリー データを表示するダッシュボードと、テレメトリー データをモニタリングするサービスを提供します。これらのシステムは、障害の特定に役立ちます。
アプリケーションのオブザーバビリティでは、テレメトリー データを使用して、アプリケーションの動作を把握するのに役立つ分析情報を生成します。
Google Cloud は、アプリケーション モニタリングによるアプリケーション オブザーバビリティをサポートしています。これにより、テレメトリー データ、AI リソース指標データ、対応待ちのアラートなどの情報を表示するダッシュボードが作成されます。詳細については、このドキュメントの Google Cloudのエージェントとアプリケーションのオブザーバビリティをご覧ください。
オブザーバビリティ サービス
オブザーバビリティ サービスは、ログデータ、指標データ、トレースデータなどのテレメトリー データを収集、分析、関連付けます。これらは、アプリケーションの信頼性を維持するために、次の機能を提供します。
- ユーザーに影響が及ぶ前に問題をプロアクティブに検出する。
- 既知の問題と新しい問題の両方をトラブルシューティングする。
- 開発中のアプリケーションをデバッグする。
- アプリケーションに対する変更の影響を把握する。
- データ探索によって新しい分析情報を得る。
オブザーバビリティに関連する原則や手法など、信頼性プラクティスの詳細については、サイト信頼性エンジニアリング: Google が本番環境システムを運用する仕組みをご覧ください。トピックには、分散システムのモニタリング、アラート、トラブルシューティングなどがあります。
Google Cloud Observability
Google Cloud Observability のサービスを使用すると、アプリケーションと基盤となるインフラストラクチャの両方からテレメトリー データの収集、分析、関連付けを行えます。また、これらのサービスには、組み込みのデフォルトも用意されているため、すぐにご利用を開始いただけます。たとえば、アプリケーション モニタリングは、App Hub に登録されたアプリケーション、サービス、ワークロードのダッシュボードとトポロジマップを作成します。
テレメトリー データの自動収集
Monitoring、Logging、Trace は、 Google Cloud プロジェクトの作成時にデフォルトで有効になるサービスです。これらのサービスは、テレメトリー データの収集、分析、可視化を行うためのコア機能を提供します。
- ほとんどの Google Cloud サービスのテレメトリー データを自動的に収集します。
- ほとんどの Google Cloudサービスの監査ログを自動的に収集します。
- ダッシュボードやテレメトリー エクスプローラなどの可視化サービスを提供します。これにより、テレメトリー データを表示して確認できます。たとえば、Trace エクスプローラでは、マルチモーダル プロンプトとレスポンスを含むトレース、スパン、メタデータを表示できます。詳細については、テレメトリー データのクエリと表示をご覧ください。
- ログデータとトレースデータに SQL ベースの分析サービスを提供する。たとえば、BigQuery を使用して、ログデータ内の URL と既知の悪意のある URL の一般公開データセットを比較できます。
- アプリケーション モニタリングとテレメトリー モニタリングを提供する。たとえば、ログデータまたは指標データが指定した条件を満たしたときに通知するアラート ポリシーを作成できます。合成モニタリングを使用して、アプリケーションのパフォーマンスをテストすることもできます。
計測対象のアプリケーションからテレメトリー データを収集します。計測化とは、テレメトリー データを出力するためのコードをアプリケーションに追加することです。
アプリケーションを計装化する場合は、ベンダー固有またはプロダクト固有の API やクライアント ライブラリではなく、OpenTelemetry などのオープンソースの計装化フレームワークを使用することをおすすめします。これらのフレームワークの詳細については、 アプリケーション デベロッパー向けのオブザーバビリティと計測方法を選択するをご覧ください。
エージェントとアプリケーションのオブザーバビリティ
Google Cloud のアプリケーション モニタリングでは、エージェントのオブザーバビリティとアプリケーションのオブザーバビリティの両方が提供されます。このサービスには、App Hub のアプリケーション、サービス、ワークロードの健全性とパフォーマンスを把握できるダッシュボードとトポロジマップが用意されています。また、AI リソースのエラー率やトークン使用量などの指標を生成して表示します。これらの指標を生成するために、アプリケーション モニタリングは、OpenTelemetry GenAI セマンティック規則に従うアプリケーション固有のラベルとイベントを使用して、トレースデータをフィルタリングして集計します。
エージェントのオブザーバビリティを確保するには、Agent Development Kit(ADK)フレームワークを使用してエージェントを構築することをおすすめします。ADK は OpenTelemetry に依存しているため、ADK が生成するテレメトリーは OpenTelemetry GenAI のセマンティック規則に準拠しています。
障害のデバッグ、費用のモニタリング、エージェントの動作の分析(Gemini Enterprise Agent Platform、Agent Gateway、Model Armor エージェントなど)を行うには、ログ、指標、トレースデータが必要です。
- ログには、イベントとエラーに関する情報が記録されます。
- 指標を使用すると、レイテンシとトークンの使用量をモニタリングできます。
- トレースは実行パスに関する情報を提供し、分析されてモデル呼び出しの数や合計トークン使用量などの指標を導出します。これらの派生指標により、エージェントのパフォーマンスと動作を可視化できます。詳細については、AI リソースを表示するをご覧ください。
- プロンプトとレスポンスのデータを使用すると、Gen AI Evaluation Service を使用してエージェントの品質と意思決定を評価できます。
アプリケーションのアプリケーション モニタリング ダッシュボードには、Gemini Enterprise アプリ、Gemini Enterprise Agent Platform エージェント、MCP サーバーなど、アプリケーションのサービスとワークロードのリストが表示されます。
エージェント サービスとワークロードは、インフラストラクチャ タイプまたは App Hub の機能タイプを使用して識別できます。機能タイプ列はデフォルトで非表示になっています。
コードサンプルについては、以下をご覧ください。
エラーの特定に関するサポート
Error Reporting は、Cloud Logging のログエントリを分析してエラーを検出します。Error Reporting でエラーが検出されると、関連するログエントリにアノテーションが付けられ、エラーグループが作成されます。これらのエラーグループを調べて、エラーの原因と履歴を特定します。
プロファイリング サポート
Cloud Profiler を使用すると、アプリケーションの CPU とメモリ使用量の状況を分析して、パフォーマンスを向上させる機会を特定できます。
使ってみる
このセクションでは、 Google Cloudのオブザーバビリティ機能に慣れるための手順について説明します。
クイックスタートを試す
クイックスタートを試して、利用可能なサービスに慣れてください。
自動的に収集されたデータを表示する
ほとんどの Google Cloud サービスは、ログデータと指標データを自動的に生成します。つまり、追加の構成を行うことなく、サポートされている Google Cloud サービスのオブザーバビリティ データを確認できます。
- Google Kubernetes Engine(GKE)、Compute Engine、Cloud SQL などの一部の Google Cloud サービスでは、サービスのコンテキストでオブザーバビリティ データを表示するためのデフォルトのダッシュボードが Google Cloud コンソールに提供されます。
- Compute Engine、GKE、Cloud Run はデフォルトでシステム指標データとログデータを生成します。追加データの収集を構成します。
- Cloud Run functions と App Engine は、指標データ、ログデータ、トレースデータを自動的に生成します。
収集した指標データを Metrics Explorer でグラフ化したり、ログ エクスプローラ でログデータを表示したり、Trace でトレースデータを表示することもできます。関連データをまとめて確認できるように、カスタム ダッシュボードを作成できます。たとえば、仮想マシンのログデータ、パフォーマンス指標データ、アラート ポリシーを表示するダッシュボードを作成できます。
追加データを収集するように Compute Engine VM を構成する
デフォルトでは、Compute Engine VM は基本的なシステム指標データとログデータのみを収集します。ただし、Ops エージェントをインストールして、Compute Engine インスタンスとアプリケーションから追加のテレメトリー データを収集し、トラブルシューティング、パフォーマンス モニタリング、アラートに使用できます。Ops エージェントはエージェント アプリケーションではありません。代わりに、テレメトリー データを収集する決定論的なソフトウェアです。
- CPU、GPU、メモリ、プロセス指標データなどのホスト指標データを自動的に収集します。
- Linux VM の syslog や Windows VM の Windows イベントログなど、システムログ データを自動的に収集します。
- 次のものを使用して、アプリケーションを観測できます。
- Postgres、MongoDB、Java Virtual Machine などの一般的なソフトウェア向けのサードパーティ アプリケーションの統合。これらの統合には、事前に構成されたダッシュボードとアラート ポリシーが含まれます。
- Prometheus 指標データ
- OpenTelemetry Protocol(OTLP)指標データとトレースデータ
- アプリケーション ログデータ
- 収集されたテレメトリー データの概要については、Ops エージェントの概要をご覧ください。
追加データを収集するように GKE クラスタを構成する
デフォルトでは、GKE クラスタはシステムログデータとシステム指標データを Logging と Monitoring に送信します。Google Cloud Managed Service for Prometheus は、サードパーティの指標データとユーザー定義の指標データの収集を処理します。
- オブザーバビリティ指標データ パッケージを使用して、アプリケーションとクラスタ リソースの状態を把握します。たとえば、コントロール プレーンの指標データは、サービスの可用性とレイテンシをモニタリングする SLO の作成に役立ちます。
- Postgres、MongoDB、Redis などのサードパーティ アプリケーションをモニタリングします。これらの統合により、事前に構成されたダッシュボードとアラート ポリシーが提供されます。
カスタムデータを収集するように Cloud Run を構成する
Prometheus 指標データを書き込む Cloud Run サービスがある場合は、Prometheus サイドカーを使用して Cloud Monitoring に指標データを送信できます。
Cloud Run サービスが OTLP 指標データを書き込む場合は、OpenTelemetry サイドカーを使用できます。例については、サイドカーを使用して OTLP 指標データを収集するためのチュートリアルをご覧ください。