第8章 ルールブックアクティベーションのトラブルシューティング
さまざまな理由により、ルールブックのアクティベーションが失敗する場合があります。多くの問題は基本的なチェックで解決できますが、分散システム全体の障害を診断するには、堅牢なロギングが必要です。
Event-Driven Ansible の強化されたログ記録ストラテジーには、すべての出力にトラッキングの一意識別子が追加され、トラブルシューティングが大幅に改善されます。
本章では、アクティベーション失敗の原因となり得る問題の一覧と、それぞれの推奨される解決方法を説明します。新しい識別子を使用した詳細なログフィルタリングは、Event-Driven Ansible ログフィルタリング を参照してください。
8.1. Event-Driven Ansible ログフィルタリング リンクのコピーリンクがクリップボードにコピーされました!
Event-Driven Ansible は、すべてのログ出力にトラッキングの識別子を含めることで、トラブルシューティングを大幅に改善します。これらの識別子は、複数のサービスとログファイルにわたるユーザーアクションとアクティベーションプロセスを追跡するのに役立ちます。
| 識別子 | 省略形 | 目的 | 場所 |
|---|---|---|---|
| X-REQUEST-ID |
| Event-Driven Ansible リクエストのライフサイクル全体を通じて、プラットフォームゲートウェイからの HTTP リクエストを追跡します。これを使用して、UI アクションまたは API 呼び出しをバックエンド処理と関連付けます。 | HTTP 応答ヘッダーと Event-Driven Ansible ログエントリーに含まれます。 |
| Log Tracking ID |
| アクティベーションのライフサイクル を作成から完了まで追跡し、再起動後も複数のログファイルにわたって保持します。 | すべてのアクティベーション関連ログエントリーに含まれます。UI のアクティベーション History タブから取得できます。 |
| Activation Instance ID |
|
ルールブックのアクティベーションに含まれる 1 つの実行インスタンスに固有のログを特定し、その実行の | アクティベーションログに含まれます。 |
すべてのプロセスがユーザーまたは外部クライアントから発生するわけではありません。Event-Driven Ansible オーケストレーターが内部的にプロセス (例: モニター要求) をトリガーすると、そのプロセスのライフサイクルを追跡するために rid UUID が内部的に生成され、プラットフォームゲートウェイログには表示されません。
拡張ログ形式では、これらの識別子がメッセージの先頭に配置されるため、フィルタリングが容易になります。
[rid: <UUID>] [tid: <UUID>] [aiid: <ID>] aap_eda.tasks.orchestrator Processing request…
8.1.1. トラブルシューティングにログフィルタリングを使用する リンクのコピーリンクがクリップボードにコピーされました!
トラッキングの一意識別子を活用して、すべてのシステムログを効率的に検索およびフィルタリングする方法を学習します。このプロセスでは、特定のルールブックのアクティベーションまたは API リクエストの正確なタイムラインと失敗の原因を特定します。
手順
識別子を収集します。
-
問題が発生した場合は、UI の History タブ で、失敗したアクティベーションインスタンスのログから Log Tracking ID (
tid) を取得します。 -
問題がユーザーアクション (アクティベーションの再開など) によって発生した場合は、HTTP 応答ヘッダーから X-REQUEST-ID (
rid) を取得します。
-
問題が発生した場合は、UI の History タブ で、失敗したアクティベーションインスタンスのログから Log Tracking ID (
システムログを検索します。
- 収集された UUID を使用して、バックエンドログ (ワーカー、スケジューラー、API など) を検索します。これにより不要なノイズが除外され、すべてのサービスにわたって、特定のリクエストやアクティベーションの全体的なタイムラインを把握しやすくなります。
タイムラインを関連付けます。
-
共通の
tidを使用して、さまざまなログファイルとサービスにわたるアクティベーションの進行状況 (または失敗) を追跡します。
-
共通の
サポートツールを使用します。
-
必要に応じて、
sosreportまたはmustgatherツールを使用して、/var/log/ansible-automation-platform/eda/から関連するすべての Event-Driven Ansible ログを自動的に収集します。
-
必要に応じて、