Ansible Tower 能够在运行剧本时收集原始性能数据,包括 CPU、内存和 PID 计数。 Runner 提供的资源分析功能使这成为可能,它使用 Linux 控制组 (‘cgroups’) 来衡量一段时间内的实际资源使用情况。 有关 cgroups 的更多信息,请参阅 控制组简介。
安装 Ansible Tower 时,Tower 会自动创建 cgroup,以便 Runner 可以使用它。
要在 Tower 用户界面中启用 Runner 的资源分析功能
从左侧导航栏中,将鼠标悬停在设置 () 图标上,然后选择 作业,或从设置屏幕中单击 作业 选项卡。
使用切换按钮打开 对所有剧本运行启用详细资源分析 设置,以收集所有作业的数据。
单击 保存 以保存您的首选项。
在为作业收集性能数据后,该数据将存储在 /var/log/tower/playbook_profiling/<job_id>/
下。 在集群上,性能数据存储在执行作业的 Tower 实例上。 如果使用 隔离实例 执行作业,则从隔离节点收集数据,并存储在用于将作业传递到隔离节点的控制器上。
为每个任务创建三个数据文件(对应于 CPU、内存和 PID 计数)。 每个文件都包含以 JSON 文本格式表示的数据; 文件的每一行都将以记录分隔符 (RS) 开头,以 JSON 字典继续,并以换行符 (LF) 结尾。 请注意,如果任务运行速度很快,则可能根本不会收集该任务的性能数据,在这种情况下,该任务的一个或多个性能数据文件将不会创建。
请参阅当前的 Runner 文档,以详细了解性能数据的格式,以及一些实际的示例数据。