Documentation

15. 资源性能分析

Ansible Tower 具有在执行 playbook 运行的过程中收集原始性能数据(包括 CPU、内存和 PID 计数)的功能。这可以通过 Runner 提供的资源配置集功能实现,该功能使用 Linux control groups`('cgroups')来测量一段时间内的实际资源使用情况。如需更多有关 cgroups 的信息,请参阅 `Introduction to Control Groups

安装 Ansible Tower 时,Tower 会自动创建 cgroup,以便 Runner 可使用它。

15.1. 启用资源配置集

在 Tower 用户界面中启用 Runner 资源配置集:

  1. 在左侧导航栏中,把鼠标移到 Settings (settings) 图标并选择 Jobs,或者点击 Settings 界面中的 Jobs 标签页。

  1. 使用切换来打开 Enable Detailed Resource Profiling On All Playbook Runs 设置,以收集所有作业的数据。

_images/settings-jobs-gather-perf-stats.png
  1. 点击 Save 保存您的首选项。

在为某个作业收集了性能数据后,它保存在 /var/log/tower/playbook_profiling/<job_id>/在集群上,性能数据存储在执行该作业的 Tower 实例上。如果作业是使用*隔离实例*来执行,则从隔离节点收集数据,并存储在用来将作业传送到隔离节点的控制器上。

为每个任务创建三个数据文件(与 CPU、内存和 PID 计数对应)。每个文件都包含 JSON 文本格式的数据;每行文件都以记录的分隔符 (RS) 开头,然后使用一个 JSON 字典,最后使用换行符 (LF) 字符。请注意,如果任务运行得非常块,就有可能根本不会为该任务收集性能数据,在这种情况下,不会为任务创建一个或多个性能数据文件。

请参阅当前的 Runner docs 来了解有关性能数据的详情,以及一些实际的样本数据。