A.2. 诊断问题
对于基于容器的常规故障排除,您可以检查任何正在运行的服务的容器日志,以帮助对底层问题进行故障排除。
识别正在运行的容器
要获取正在运行的容器名称列表,请运行以下命令:
podman ps --all --format "{{.Names}}"
$ podman ps --all --format "{{.Names}}"
组件组 | 容器名称 | 用途 |
---|---|---|
自动化控制器 |
| 处理自动化控制器的集中式日志记录。 |
自动化控制器 |
| 管理并运行与自动化控制器相关的任务,如运行 playbook 并与清单交互。 |
自动化控制器 |
| 为自动化控制器提供 REST API 的 Web 服务器。这可以通过平台网关访问和路由,以进行用户交互。 |
Event-Driven Ansible |
| 公开用于 Event-Driven Ansible 的 API,允许外部系统触发和管理事件驱动的自动化。 |
Event-Driven Ansible |
| 用于 Event-Driven Ansible 的 Web 服务器,处理 WebSocket 连接并提供静态文件。 |
Event-Driven Ansible |
| 为 Event-Driven Ansible 提供 REST API 的 Web 服务器。这可以通过平台网关访问和路由,以进行用户交互。 |
Event-Driven Ansible |
| 这些容器根据传入的事件运行自动化规则和 playbook。 |
Event-Driven Ansible |
| 这些容器管理自动化规则的激活,确保它们在满足特定条件时运行。 |
Event-Driven Ansible |
| 负责调度和管理周期性任务和规则激活。 |
平台网关 |
| 充当反向代理,将传入请求路由到适当的 Ansible Automation Platform 服务。 |
平台网关 |
| 负责对平台的身份验证、授权和整体请求处理,所有这些都通过 REST API 公开并由 Web 服务器提供。 |
Automation hub |
| 为自动化中心提供 API,启用与集合内容、用户管理和其他自动化中心功能的交互。 |
Automation hub |
| 管理并提供存储在自动化中心中的 Ansible 内容集合、角色和模块。 |
Automation hub |
| 为自动化中心提供 REST API 的 Web 服务器。这可以通过平台网关访问和路由,以进行用户交互。 |
Automation hub |
| 这些容器处理自动化中心的后台任务,如内容同步、索引和验证。 |
Performance Co-Pilot |
| 如果启用了 Performance Co-Pilot Monitoring,则此容器用于系统性能监控和数据收集。 |
PostgreSQL |
| 托管 Ansible Automation Platform 的 PostgreSQL 数据库。 |
Receptor |
| 促进 Ansible Automation Platform 中安全可靠的通信。 |
Redis |
| 负责缓存、实时分析和快速数据检索。 |
检查日志
容器化 Ansible Automation Platform 使用 journald
进行 Podman 日志记录。要检查任何正在运行的容器日志,请运行 journalctl
命令:
journalctl CONTAINER_NAME=<container_name>
$ journalctl CONTAINER_NAME=<container_name>
带有输出的命令示例:
journalctl CONTAINER_NAME=automation-gateway-proxy
$ journalctl CONTAINER_NAME=automation-gateway-proxy
Oct 08 01:40:12 aap.example.org automation-gateway-proxy[1919]: [2024-10-08 00:40:12.885][2][info][upstream] [external/envoy/source/common/upstream/cds_ap>
Oct 08 01:40:12 aap.example.org automation-gateway-proxy[1919]: [2024-10-08 00:40:12.885][2][info][upstream] [external/envoy/source/common/upstream/cds_ap>
Oct 08 01:40:19 aap.example.org automation-gateway-proxy[1919]: [2024-10-08T00:40:16.753Z] "GET /up HTTP/1.1" 200 - 0 1138 10 0 "192.0.2.1" "python->
要实时查看正在运行的容器的日志,请运行 podman logs -f
命令:
podman logs -f <container_name>
$ podman logs -f <container_name>
控制容器操作
您可以通过运行 systemctl
命令来控制容器的操作:
systemctl --user status <container_name>
$ systemctl --user status <container_name>
带有输出的命令示例:
获取有关执行平面的容器信息
要获取有关自动化控制器、Event-Driven Ansible 和 execution_nodes
节点的容器信息,请给任何 Podman 命令添加前缀:
CONTAINER_HOST=unix://run/user/<user_id>/podman/podman.sock
CONTAINER_HOST=unix://run/user/<user_id>/podman/podman.sock
or
CONTAINERS_STORAGE_CONF=<user_home_directory>/aap/containers/storage.conf
CONTAINERS_STORAGE_CONF=<user_home_directory>/aap/containers/storage.conf
输出示例:
CONTAINER_HOST=unix://run/user/1000/podman/podman.sock podman images
$ CONTAINER_HOST=unix://run/user/1000/podman/podman.sock podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.redhat.io/ansible-automation-platform-25/ee-supported-rhel8 latest 59d1bc680a7c 6 days ago 2.24 GB
registry.redhat.io/ansible-automation-platform-25/ee-minimal-rhel8 latest a64b9fc48094 6 days ago 338 MB