Overview
このガイドでは、エージェントのパフォーマンスと配置の健全性を監視する方法を学習できます。
エージェント サンドボックスは実行中にログを生成し、エージェントの動作を監視し、問題を診断するために使用できます。これらのログは、次の方法で検索できます。
APIまたは CLIエージェントログを使用する: stdout/stderr 出力、
print()ステートメント、フレームワークデバッグ出力を含むエージェントの実行時ログを取得します。配置イベントログにAPI を使用: 構造化配置イベントログにアクセスして、配置の動作を追跡し、障害を調査し、ライフサイクルの移行を検証します。
配置されたエージェントのライブヘルスを確認するには、agentengine status コマンドまたは プラットフォームUIのワークスペースのヘルスカードを使用します。
特定のエージェントの実行でレイテンシや予期しない動作をデバッグするには、「 エージェントの実行トレースの調査 」を参照してください。
エージェントの実行ログの表示
MongoDB Atlas Agent は、エンジンの stdout/stdar 出力、print() ステートメント、logging 呼び出し、フレームワークデバッグ出力をキャプチャし、配置されたエージェントから S3 に保存します。これらのログは、プラットフォームUI、 API、または CLI を使用して検索できます。
UI の使用
UIでログを表示するには、次の手順を実行します。
左側のナビゲーション バーから Workspaces を選択し、表示するワークスペースをクリックします。
インタラクティブログビューを開くには、Logsタブをクリックします。
15m1h、 、または6h ボタンを選択して、表示する期間を調整します。タイムゾーンセレクターを使用してタイムゾーンを変更することもできます。ログをより一定期間表示するには、ログのエクスポート 機能を使用します。
ログをフィルタリングするには、Level、Source、Service のドロップダウン メニューからオプションを選択します。次に、Search をクリックしてフィルターを適用します。レベル フィルターとソース フィルターは完全一致を返すため、
INFOを選択するとINFOエントリのみが返され、INFO以上の重大度は返されません。
APIの使用
次のエンドポイントを使用して、クエリエージェントの実行ログを記録します。
GET /api/v1/projects/{id}/agent-logs
クエリするプロジェクトのオブジェクトIDを {id} 値として渡します。呼び出し元は、そのプロジェクトの組織に属している必要があります。
次のクエリ パラメーターを使用できます。
Parameter | 必須 | 説明 |
|---|---|---|
| はい | ログを検索するワークスペース識別子。 |
| No | RFC3339 開始時間。デフォルトは 1 時間前です。 |
| No | RFC3339 終了時間。デフォルトは になりました。 |
| No | ログ レベル が と完全に一致するようにします。このパラメータは、 |
| No | 実行ID (完全一致)でフィルタリングします。 |
| No | セッションID (完全一致)でフィルタリングします。 |
| No | ログソース : |
| No | サービスでフィルタリングします: |
| No |
|
| No | 返されるエントリの最大数。デフォルトは |
| No | 以前の応答によって返された不変のページ分割カーソル。 |
| No | 結果のソート順。このパラメータは |
| No | 時間範囲の先頭からページ分割する代わりに、最新のエントリを返すかどうかを指定するブール値。 |
結果は、カーソルを使用してページ分割されます。各応答には、応答が最後のページでない限り、 nextCursorフィールドと hasMoreブール値が含まれます。次のページを取得するには、nextCursor の値を次のリクエストの cursor パラメータとして渡します。
logs 配列内の各ログエントリには次のフィールドが含まれています。
フィールド | 説明 |
|---|---|
| ログエントリが記録された時間( RFC3339形式 )。 |
| ログ レベル: |
| ログ メッセージのコンテンツ。 |
| ログの元 : |
| ログを生成したサービス。 |
| 実行中のエージェントを所有するテナント。 |
| ログエントリに関連付けられた実行。 |
| ログエントリに関連付けられたセッション。 |
| ログエントリに関連付けられたワークスペース。 |
| ログエントリに関連付けられたトレース識別子。 |
| ログエントリを生成したポッド 起動の識別子。 |
| ロガー名(ログが |
| ログを生成したKubernetesポッド。 |
| ログエントリに添付される追加の構造化キー値フィールド。 |
CLI の使用
エージェントの実行ログを検索するには、次の CLI コマンドを使用します。
agentengine logs [flags]
コマンドは、現在のディレクトリの.agentengine/ 状態ファイルからワークスペースを解決します。別のワークスペースをターゲットにするには、名前付きコンテキストとともに--context フラグを渡すか、--workspace-id フラグを 、--project-id --org-id、--base-url とともに渡します。ワークスペースの管理の詳細については、「 ワークスペースの管理 」を参照してください。
次のフラグを使用できます。
Flag | 説明 |
|---|---|
| セッションIDでフィルタリングします。 |
| 実行IDでフィルタリングします。 |
| ソース サンドボックスでフィルタリングします: |
| 完全に一致するログ レベルは、 |
| ログメッセージの、大文字と小文字を区別しない部分文字列検索。グローバルまたは正規表現ではありません。 |
| 期間としての開始時間(例: 、 |
| 期間または RFC3339 タイムスタンプとしての終了時間。デフォルトは になりました。 |
| 返される最新エントリの最大数。デフォルトは |
| 時間範囲内のすべてのログを取得し、すべてのページを自動的にページ分割します。 |
| 新しいログの継続的なポーリング。 |
| 人間が判読できる形式ではなく、 JSONとしてログを出力します。 |
| ターゲットにするワークスペースID 。 |
| プロジェクトID。 |
| 組織ID。 |
| プラットフォーム ベースURL。 |
| 単一リポジトリで、 はルート |
| ワークスペースIDの代わりに使用するプラットフォーム ターゲットの指定。利用可能なコンテキストを確認するには、 |
例
このセクションでは、一般的なログ検索タスク用の CLI コマンドの例を示します。
次のコマンドは、過去 1 時間のログを検索します。
agentengine logs
次のコマンドは、ライブ ログが書き込まれるときに追跡します。
agentengine logs --follow
次のコマンドは、エージェントサンドボックス サービスからエラー レベルのログのみを検索します。
agentengine logs --source agent --level error
次のコマンドは、過去 30 分間のログで部分文字列を検索します。
agentengine logs --grep "connection refused" --since 30m
次のコマンドは、過去 6 時間のすべてのログを検索します。
agentengine logs --all --since 6h
未加工のランタイム ログのエクスポート
6 時間以上のランタイム ログを表示するには、エージェントまたはツール サービスの未加工のログをエクスポートします。エクスポートされるログには最大 24 時間のデータが含まれ、 gzip 圧縮されたJSON typesファイルとしてダウンロードできます。
UI の使用
UIから未加工のランタイム ログをエクスポートするには、次の手順を実行します。
左側のナビゲーション バーから Workspaces を選択し、表示するワークスペースをクリックします。
インタラクティブログビューを開くには、Logsタブをクリックします。
Raw エクスポート ダイアログを開くには、Export をクリックします。
Service ドロップダウン メニューから [Agent または Tool を選択します。
[Time period ドロップダウン メニューから、過去の 6、12、または 24 時間の事前設定された範囲を選択するか、カスタム範囲を指定します。カスタム範囲は 24 時間を超えることはできません。次に、Time zone ドロップダウン メニューからタイムゾーンを選択します。
ログファイルをダウンロードするには、Export をクリックします。
CLI の使用
未加工のランタイム ログをエクスポートするには、次の CLI コマンドを使用します。
agentengine logs export --service <agent|tool> [flags]
次のフラグを使用できます。
Flag | 説明 |
|---|---|
| (必須)エクスポートするランタイム サービス。 または |
| 開始時間。期間または RFC3339 タイムスタンプとして渡すことができます。デフォルトは |
| 期間または RFC3339 タイムスタンプとしての終了時間。デフォルトは現在の時刻です。 |
| 出力ファイルパス。デフォルトは |
| ターゲットにするワークスペースID 。 |
| プロジェクトID。 |
| 組織ID。 |
| プラットフォーム ベースURL。 |
| 単一リポジトリで、 はルート |
| ワークスペースIDの代わりに使用するプラットフォーム ターゲットの指定。利用可能なコンテキストを確認するには、 |
コマンドはダウンロードをアトミックに書込むため、エクスポートが失敗したり中断された場合でも、宛先に部分的なファイルが残ることはありません。
次のコマンドは、過去の 24 時間のエージェントサービス ログをエクスポートします。
agentengine logs export --service agent
次のコマンドは、6 時間のツール サービス ログを指定されたファイルにエクスポートします。
agentengine logs export --service tool --since 6h --output logs.jsonl.gz
ログ形式
エージェント サンドボックスは構造化されたJSONレコードとしてログを出力します。以下の表は、各レコードのフィールドを説明したものです。
フィールド | 説明 |
|---|---|
| ログがいつ発行されたかを示す ISO 8601 タイムスタンプ |
| ログ重大度レベル( |
| レコードを出力したPythonロガーの名前 |
| 人間が判読できるログメッセージのテキスト |
| ログのソース。 |
| 実行中のエージェントを所有するテナントの識別子 |
| エージェントが配置されるワークスペースの識別子 |
| 現在実行されているエージェントの識別子 |
| 現在のセッションの識別子 |
| ログを発行したコンテナのKubernetesポッド名 |
| ログエントリを生成したストリーム。 |
| ログイベントに関する構造化メタデータを含むキーと値のペアのマップ |
次の例は、単一の 構造化ログレコードの形式を示しています。
{ "timestamp": "2025-10-15T14:32:07.123456Z", "level": "INFO", "logger": "agent.executor", "message": "Tool call completed", "service": "tool", "tenantId": "t-abc123", "workspaceId": "ws-def456", "executionId": "exec-789xyz", "sessionId": "sess-uvw012", "podName": "tool-ws-def456-5b8d9f-jklmn", "source": "stdout", "fields": { "toolName": "search", "durationMs": 243 } }
配置イベントの表示
MongoDB Atlas Agent Engine は、各配置の構造化されたイベントログを記録し、作成から完了までのすべての状態遷移をキャプチャします。配置イベントログを使用して、配置の動作を追跡し、障害を調査し、予想されるライフサイクルの移行が発生したことを確認できます。イベントログには、 プラットフォームUI、 CLI、 API のいずれかを使用してアクセスできます。
各イベントには、次のフィールドが含まれています。
フィールド | 説明 |
|---|---|
| イベントをトリガーしたライフサイクル移行のカテゴリまたはステージです。指定できる値は、 |
| イベントに関連付けられた配置コンポーネント。 |
| イベントのマシンが判読可能な理由コード。 |
| イベントの人間が判読可能な説明。 |
| イベントに関連付けられた条件( |
UI の使用
プラットフォームUI には、アクティブと完了の両方を含むすべての配置の配置ページにイベント ログタブが表示されます。
、 、または
pendingであるアクティブな配置では、イベントはin_progresscleaning_upSSE を介してリアルタイムでストリーミングされます。完了した配置の場合、カードは REST エンドポイントから完全なイベント履歴を読み込みます。
各イベント行には、UTC タイムスタンプ、重大度レベル(info、success、warn、または error)、ライフサイクル ステージ、コンポーネント、メッセージが表示されます。イベントはレベル別にフィルタリングして、ビューを絞り込むことができます。
CLI の使用
特定のデプロイのイベントログを で表示するには、agentengine deploy logs コマンドを使用します。詳しくは、「 デプロイメント イベント ログの表示 」を参照してください。
また、-f フラグとagentengine deploy get を併用すると、アクティブな配置中にイベントをリアルタイムでストリーミングできます。詳細については、「 配置ステータスの確認 」を参照してください。
APIの使用
配置イベントを直接クエリするには、次のAPIエンドポイントを使用します。
GET /api/v1/projects/{project_id}/deployments/{deployment_id}/events
結果は、カーソルを使用してページ分割されます。ページ分割を制御するには、after と limit クエリ パラメータを使用します。 limit のデフォルトは 100 であり、100 を超えることはできません。
ワークスペースのヘルスチェック
配置が成功した後は、配置されたエージェントのライブヘルスをいつでも確認できます。ワークスペースのヘルスビューには、各エージェントコンポーネントの現在の読み取り状況、準備完了のレプリカ数、ヘルスが最後にチェックされた日時を示すタイムスタンプが表示されます。
UI の使用
プラットフォームUIのワークスペースの概要ページには、ライブ配置のヘルスカードが含まれています。カードには、ステータス、準備完了レプリカ、理由など、コンポーネントごとの健全性が表示されます。 [ 更新 ] をクリックして、いつでも現在のヘルスを再取得できます。最後にチェックされたタイムスタンプは、ヘルスが最後に取得された日時を示します。
CLI の使用
配置されたエージェントのライブヘルスを表示するには、次のコマンドを実行します。
agentengine status
次の の例に示すように、 コマンドはワークスペースのヘルス エンドポイントを呼び出し、その結果をサマリーとしてレンダリングします。
✓ my-agent is ready summary deployment: deploy-55996f39 (succeeded 21h ago) readiness: 4/4 components ready health: healthy (checked just now) invoke: https://<base-url>/api/v1/projects/<project-id>/workspaces/<workspace-id>/invoke stream: https://<base-url>/api/v1/projects/<project-id>/workspaces/<workspace-id>/invokeStream dashboard: https://<base-url>/project/<project-id>/workspaces/<workspace-id>/deployments components Orchestration Engine healthy (2 replicas) [scope: project] Agent Sandbox healthy (4 replicas) [scope: workspace] Tool Sandbox healthy (4 replicas) [scope: workspace] Secrets healthy [scope: workspace]
追加の配置とランタイムの詳細を含めるには --verbose フラグを渡します。または、完全なステータスをJSONとして出力するには、--json を渡します。
ポリシー拒否の表示
ObservabilityプラットフォームUIの ページにはPolicy denials タイルが含まれています。タイルには、選択した時間ウィンドウでポリシー エンジンが拒否した呼び出しの数が表示されます。タイルを使用して、ポリシーによって繰り返しブロックされるエージェントを見つけられます。これは、エージェントが不正なワークを試みたか、またはポリシーがワークロードに対して制限的すぎることを示します。タイルには、組織とプロジェクトのデータのみが表示されます。
[] タイルは、AUTHORIZED_TOOLS ポリシータイプが生成する拒否と、実行およびセッション 予算ポリシーが生成する拒否をカウントします。タイルは、AUTHORIZED_MODELS ポリシータイプが生成する拒否をカウントしません。各ポリシー タイプの詳細については、「 ポリシー タイプ 」を参照してください。
CLI デバッグ ログの表示
すべての agentengine コマンドは構造化されたJSONログファイルをマシン上のプラットフォーム固有のディレクトリに書込みます。 CLI は 20 の最新のログファイルを保持します。コマンドが失敗した場合、最後の stderr 行にはそのコマンドのログファイルへのパスが含まれます。
次の表は、プラットフォーム別のログロケーションを示しています。
プラットフォーム | パス |
|---|---|
MacOS |
|
Linux |
|
Windows |
|
ログファイルのパスを上書きするには、--log-file フラグまたは AGENTENGINE_LOG_FILE 環境変数を使用します。次の環境変数もログの動作を制御します。
AGENTENGINE_LOG_LEVELファイルの冗長を設定するAGENTENGINE_NO_LOGは、ファイルのログ記録を無効にしますAGENTENGINE_LOG_MAX_FILESは、保持されたログファイルの数を設定しますAGENTENGINE_NO_LOG_PRUNEは自動保持プルーニングを無効にします
CLI ログファイルの一覧表示
すべての CLIログファイルを最新順にソートして一覧表示するには、次のコマンドを実行します。
agentengine debug logs list [--json]
各行には、ファイル名と実行されたコマンドが表示されます。 --json フラグを渡すと、schema_version、status、logs 配列を持つマシンが判読可能なオブジェクトが返されます。配列の各エントリには、name、path、modified_at、size_bytes、command が含まれています。
CLI ログファイルの表示
ログファイルの内容を印刷するには、次のコマンドを実行します。
agentengine debug logs get [<logfile>] [--last] [--pretty]
agentengine debug logs list で表示されるログファイル名を渡すか、--last を使用して 最新のログを出力します。出力は、デフォルトでは未加工のJSON行として形式されます。各レコードの形式と色付けを行うには、--pretty フラグを渡します。
次の例では、agentengine debug logs コマンドを使用してログファイルを一覧表示して表示します。
agentengine debug logs list agentengine debug logs get agentengine-2026-05-13T11-43-57Z-12345.log agentengine debug logs get --last --pretty
追加リソース
このガイドで説明されているAPIエンドポイントの詳細については、 APIドキュメント を参照してください。