Google Cloud Observability には、エージェント アプリケーションなど、アプリケーションの動作、健全性、パフォーマンスの把握に役立つオブザーバビリティ サービスが含まれています。アプリケーションの動作とコンポーネントの接続方法を可視化することで、予期しない変更に迅速かつ効果的に対応できます。
このドキュメントには、次の情報が含まれています。
- オブザーバビリティ、エージェント オブザーバビリティ、アプリケーションのオブザーバビリティと APMなどの用語の定義。
- 信頼性の高いアプリケーションの開発と 保守に役立つオブザーバビリティ サービスのメリット。
- Google Cloud Observability でアプリケーションとインフラストラクチャの健全性をモニタリングし、維持する方法。
- でオブザーバビリティ機能の利用を開始する手順。Google Cloud
オブザーバビリティ
オブザーバビリティは、エージェント アプリケーションを含むアプリケーションとそのオペレーティング環境の状態を把握するために、テレメトリー データを収集、分析する包括的なアプローチです。テレメトリー データには、ログデータ、指標データ、トレースデータが含まれます。また、プロンプトやレスポンスなど、アプリケーションが生成する他のデータも含まれる場合があります。テレメトリー データは、アプリケーションの健全性とパフォーマンスを把握するために必要な情報を提供します。
- 指標データ
- 指標データは、CPU 使用率やリクエスト レイテンシなど、システムが一定の間隔で測定する健全性またはパフォーマンスに関する数値データです。 指標データに予期しない変化があった場合は、調査が必要な問題が発生している可能性があります。また、パターンを分析して使用パターンを把握し、リソースのニーズを予測することもできます。
- ログデータ
ログとは、システムまたはアプリケーションのアクティビティを経時的に生成し、記録したものです。各ログは、タイムスタンプ付きのログエントリのコレクションであり、各ログエントリは特定のイベントを表します。
ログには、アプリケーションの特定の場所で発生したことを把握するのに役立つ、詳細な情報が含まれていることがよくあります。ただし、ログデータでは、アプリケーションの特定のコンポーネントの変更が別のコンポーネントのアクティビティとどのように関連しているのかを効果的に把握できません。このようなギャップを埋めるのにトレースデータが役立ちます。
- トレース データ
トレースは、分散アプリケーションの各部分を通過するリクエストのパスを表します。つまり、各トレースは単一のエンドツーエンド オペレーションを表します。トレースはスパンで構成されています。これは、 単一の関数またはオペレーションの記録です。そのため、リクエストのフロー を追跡し、レイテンシデータを調べることができます。この情報は、問題の根本原因を特定するのに役立ちます。
エージェント アプリケーションの場合、トレースはエージェントが実行するアクションをキャプチャします。 たとえば、トレースで 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 は、プロジェクトを作成すると デフォルトで有効になるサービスの 1 つです 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 指標を収集するための チュートリアルをご覧ください。