第 8 章 规则手册激活故障排除
规则手册激活偶尔可能会因为各种原因而失败。虽然许多问题可以通过基本检查解决,但诊断分布式系统中的故障需要可靠的日志记录。
事件驱动的 Ansible 增强的日志记录策略包括为所有输出添加唯一跟踪标识符,以显著改进故障排除。
查看本章中可能存在的问题列表,该列表可能会导致激活失败以及解决问题的建议。有关使用新标识符过滤的详细日志,请参阅 Event-Driven Ansible 日志过滤。
8.1. event-Driven Ansible 日志过滤 复制链接链接已复制到粘贴板!
event-Driven Ansible 包括所有日志输出中的跟踪标识符,以显著改进故障排除。这些标识符有助于跟踪多个服务和日志文件之间的用户操作和激活进程。
| identifier | 缩写 | 用途 | 位置 |
|---|---|---|---|
| X-REQUEST-ID |
| 通过整个 Event-Driven Ansible 请求生命周期跟踪平台网关的 HTTP 请求。使用此选项将 UI 操作或 API 调用与后端处理相关联。 | 包含在 HTTP 响应标头和 Event-Driven Ansible 日志条目中。 |
| 日志跟踪 ID |
| 跟踪通过完成创建后的 激活生命周期,并在重新启动和多个日志文件后保留。 | 包含在所有与激活相关的日志条目中。它可以通过 UI 中的激活 History 选项卡获得。 |
| 激活实例 ID |
|
标识特定于规则手册激活的单一执行实例的日志,允许您查看该运行的 | 包含在激活日志中。 |
不是所有进程都源自用户或外部客户端。当 Event-Driven Ansible 编配器在内部触发进程(如 monitor 请求)时,会在内部生成 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 通过后端日志(worker、调度程序、API 等)进行搜索。这会过滤不相关的 noise,可让您专注于所有服务中特定请求或激活的完整时间表。
关联时间表:
-
使用常见的
tid在不同日志文件和服务间跟踪激活的进度(或失败)。
-
使用常见的
使用支持工具:
-
如有必要,使用
sosreport或mustgather工具,它会自动从/var/log/ansible-automation-platform/eda/收集所有相关 Event-Driven Ansible 日志。
-
如有必要,使用