Ansible Tower 3.6 引入了在执行 playbook 运行的过程中收集原始性能数据(包括 CPU、内存和 PID 计数)的功能。这可以通过 Runner 提供的资源配置集功能实现,该功能使用 Linux control groups`('cgroups')来测量一段时间内的实际资源使用情况。如需更多有关 cgroups 的信息,请参阅 `Introduction to Control Groups。
安装 Ansible Tower 3.7 时,Tower 会自动创建 cgroup,以便 Runner 可使用它。
在 Tower 用户界面中启用 Runner 资源配置集:
在左侧导航栏中,把鼠标移到 Settings () 图标并选择 Jobs,或者点击 Settings 界面中的 Jobs 标签页。
使用切换来打开 Enable Resource Profiling On All Tower Jobs 设置,以收集所有作业的数据。
点击 Save 保存您的首选项。
在为某个作业收集了性能数据后,它保存在 /var/log/tower/playbook_profiling/<job_id>/
。在集群上,性能数据存储在执行该作业的 Tower 实例上。如果作业是使用*隔离实例*来执行,则从隔离节点收集数据,并存储在用来将作业传送到隔离节点的控制器上。
为每个任务创建三个数据文件(与 CPU、内存和 PID 计数对应)。每个文件都包含 JSON 文本格式的数据;每行文件都以记录的分隔符 (RS) 开头,然后使用一个 JSON 字典,最后使用换行符 (LF) 字符。请注意,如果任务运行得非常块,就有可能根本不会为该任务收集性能数据,在这种情况下,不会为任务创建一个或多个性能数据文件。
请参阅当前的 Runner docs 来了解有关性能数据的详情,以及一些实际的样本数据。