Agent 365 CLI
CLIの診断ログを管理します。
logsコマンドは、安全にサポートと共有できる隠蔽されたCLIログファイルのコピーをエクスポートMicrosoftします。
logs exportサブコマンドを使ってCLIログファイルを編集・コピーしてください。 エクスポートされたファイルは、メールやGUID、トークンの漏洩を避けてサポートチケットに添付しても安全です。
最低必要役割:なし。 このコマンドはローカルログファイルの読み取りと書き換えを行います。
Syntax
a365 logs [command] [options]
logs export
Microsoftサポートと安全に共有できる、編集されたCLI診断ログファイルのコピーをエクスポートしてください。 JWTトークン、メールアドレス、GUID、OSパスユーザー名を編集し、同一の値を一貫したエイリアスに置き換えてログの相関を保持します。
a365 logs export [<command>] [options]
CLIは各トップレベルコマンドの診断ログファイルをローカルログディレクトリに書き込みます(例:%LOCALAPPDATA%\Microsoft.Agents.A365.DevTools.Cli\logs\ on Windows)。
logs export それらのファイルのうち1つまたはすべてを読み取り、機密性の高い内容を削除し、編集されたコピーを選択した出力ディレクトリに書き込みます。
編集されるもの
| Pattern | Replacement |
|---|---|
| JWTベアラトークン(header.payload.signature) | <JWT-TOKEN> |
| Email addresses |
<email-1>、 <email-2>、...(メールごとに一貫した別名) |
| GUIDs(8-4-4-4-12)— 例外については 「What sreservations for exception(保存されているもの)」を参照してください |
<id-1>、 <id-2>、...(GUIDごとの一貫した別名) |
OS-パスのユーザー名(C:\Users\<name>、 /Users/<name>、 /home/<name>) |
<username-1>、 <username-2>、 ... |
同じ値であればファイル全体で同じエイリアスが保たれるため、ログ内の相互参照は問題診断に有効です。 編集されたファイルには、ソースパス(同じ黒塗りが適用されたもの)と、置き換えられた各パターンのカウントを記録したヘッダーが含まれています。
What's preserved
リダクターは意図的に以下の内容を逐語的に 保持し、黒塗りログがデバッグやMicrosoftサポートエスカレーションに役立つようにします:
| Preserved | なぜ安全なのか |
|---|---|
| タイムスタンプ、ログレベル、スコープ名、エラーコード、ファイルパス(ユーザー名を置き換えた)、HTTPステータスコード、JSON形状 | これらはテナントやユーザーを特定するものではありません。 |
TraceId: <guid> および CorrelationId: <guid> の値 |
CLIによって生成されるセッションローカルランダム識別子。 これらは機密性がなく、ログをサーバー側のトレースとペアリングする役割を果たします。 |
誤差体内のrequest-idおよびclient-request-idの値はMicrosoft Graph |
通話ごとにサーバー生成。 Microsoftサポートは、エスカレーション時にサービスログで正確なリクエストを確認するためにこれらを使っています。 |
| 公開され、よく知られたMicrosoftおよびAgent 365リソースアプリケーションID: • Microsoft Graph( 00000003-0000-0000-c000-000000000000)• Agent 365 メッセージングボットAPI • Agent 365 Observability API ・Power Platform API(接続性) ・エージェント365ツールズ(MCPのオーディエンス、制作) |
これらは公に記録された定数であり、入居者について何も示していません。 それらを保存することで、 Validated permission AgentIdentityBlueprint.ReadWrite.All against 00000003-0000-0000-c000-000000000000 のような一行が ... against <id-4>ではなく読みやすく残るということです。 |
テナント固有のサービスプリンシパルオブジェクトIDや上記のパターンに合わない他のGUIDは、コンスタンスエイリアス機構によって 編集されます 。
Important
黒塗りパターンは、最も一般的な機密内容を除去することを目的としています。 もしログにカスタムシークレット(例えば、このCLI外のコードで記録された秘密やスタックトレースに貼り付けられた値)がこのredactorが認識しない形式で含まれている場合は、共有前に手動で削除してください。
共有前の確認方法
編集済みファイルをテキストエディタで開いて、テナント固有のものを探してください:
# Spot-check what was preserved vs aliased
Select-String -Path .\a365.setup.redacted.log -Pattern "CorrelationId|TraceId|request-id" | Select-Object -First 10
Select-String -Path .\a365.setup.redacted.log -Pattern "<id-|<email-|<JWT-TOKEN>|<username-" | Measure-Object
エクスポートされたファイルのヘッダー行はカウント数をまとめています。 もし <id-N> エイリアスの数が予想以上に多ければ、エイリアスマップが役割を果たしているのです。テナント固有のGUIDは正確に1つのエイリアスを割り当てます。
export のオプション
| Option | Description |
|---|---|
<command> |
ログをエクスポートしたいコマンド名(例: setup や cleanup)。 この引数を省略して、利用可能なすべてのログファイルを一度にエクスポートします。 |
-o、--output <output> |
編集済みログファイルを書き込むディレクトリ。 現在のディレクトリにデフォルトで設定されます。 |
-?、 -h、 --help |
ヘルプと使用状況の情報を表示します。 |
Examples
setupログを現在のディレクトリにエクスポートします:
a365 logs export setup
利用可能なログはすべて特定のフォルダにエクスポートします:
a365 logs export --output ./support-bundle
cleanupログを特定のフォルダにエクスポートします:
a365 logs export cleanup --output ./support-bundle
出力ファイル命名
エクスポートされたファイルは a365.<command>.redacted.logとして書き込まれます。
<command>を省略すると、CLIは利用可能なログごとに同じ命名パターンで編集されたファイルにエクスポートします。
Important
共有する前に編集済みのファイルを確認してください。 編集パターンはJWTトークン、メール、GUID、OSパスユーザー名をカバーしていますが、すべての秘密をカバーしているわけではありません。 ログに他の形式のカスタムシークレットや機密識別子が含まれている場合は、共有する前に手動で削除してください。
Note
logs export 元のログファイルを削除したり修正したりしません。 元のログはローカルログディレクトリに残ります。 コマンドは出力ディレクトリに黒塗りされたコピーのみを書き込みます。