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 文档,以详细了解性能数据的格式,以及一些实际的示例数据。