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サービスの監査ログを自動的に収集します。
- テレメトリー データを表示して調査できるダッシュボードやテレメトリー エクスプローラなどの可視化サービスを提供します。たとえば、トレース エクスプローラを使用すると、マルチモーダル プロンプトやレスポンスなどのトレース、スパン、メタデータを表示できます。詳細については、テレメトリー データのクエリと表示をご覧ください。
- ログデータとトレースデータに 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 仮想マシンなどの一般的なソフトウェア向けのサードパーティ アプリケーションの統合。これらの統合には、事前に構成されたダッシュボードとアラート ポリシーが含まれています。
- 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 指標データを収集するためのチュートリアルをご覧ください。