首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在运行ansible-playbook时测量和显示任务所用的时间?

在运行ansible-playbook时测量和显示任务所用的时间,可以通过以下步骤实现:

  1. 使用ansible-playbook命令运行playbook文件:ansible-playbook playbook.yml
  2. 在命令后面添加-v参数,以便显示详细的任务执行信息:ansible-playbook -v playbook.yml
  3. 在命令后面添加--start-at-task=<task_name>参数,指定从特定任务开始执行,以便测量该任务的执行时间:ansible-playbook --start-at-task=<task_name> playbook.yml
  4. 使用time命令来测量整个ansible-playbook命令的执行时间:time ansible-playbook playbook.yml
  5. 使用callback_plugins插件来显示任务执行时间。在ansible配置文件中,找到或创建callback_plugins目录,并在其中创建一个Python脚本文件(例如timing.py),然后将以下代码复制到脚本文件中:
代码语言:txt
复制
import time

class CallbackModule(object):
    def __init__(self):
        self.task_start_time = None

    def v2_playbook_on_task_start(self, task, is_conditional):
        self.task_start_time = time.time()

    def v2_playbook_on_stats(self, stats):
        for host in stats.processed.keys():
            self.display("Host %s:" % host)
            for task in stats.summarize(host).keys():
                self.display("  Task %s: %0.2f seconds" % (task, time.time() - self.task_start_time))

    def display(self, msg):
        print(msg)
  1. 保存并关闭脚本文件。
  2. 运行ansible-playbook命令时,使用-c参数来指定刚刚创建的脚本文件作为回调插件:ansible-playbook -c timing.py playbook.yml

通过以上步骤,你可以在运行ansible-playbook时测量和显示每个任务所用的时间。注意,这里提供的是一种自定义的方法,而不是腾讯云特定产品的功能。

相关搜索:在C#中运行多个任务时查找每个任务所用的时间可能的任务在执行特定的长时间运行任务时失败Netsuite中保存的搜索在完成时显示制造任务的运行时间在显示"活动"时,让CruiseControl.NET使用长时间运行的任务的输出在Power BI中测量开始和结束之间的时间差/运行时间在做Spark cube时如何避免长时间运行的任务在redux-observable中,如何在运行完成时测量epics持续时间?在单独的后台线程和进程中运行长时间后台任务如何显示12小时时钟和显示实时与存储时间的时间差如何在react native中显示长时间运行的android本地任务的进度条?在重新部署时,如何避免中断正在运行的芹菜任务?在执行长时间运行的数据库任务时处理Web服务超时在时间输入中的任意位置单击时,如何显示时间选择器?如何测量在netbeans中通过tomcat运行的java web应用程序中的CPU和内存我如何才能只在新的和更改的文件上运行gulp imagemin任务?当较长的时间框架显示上升趋势时,在较低的时间框架上买入和卖出标记如何让时间选择器在android中只显示24小时的时间格式在处理多个任务时,如何跟踪进度和进度视图的增量计数?Android Studio -当我在我的设备上运行它时,在设计和运行时都没有图像和按钮颜色显示在长时间运行的流程期间,使用ReactiveUI、Observables、SubscribeOn和ObserveOn在UI中显示输出日志
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ansible使用CallBack插件分析Playbook执行性能

亦或者我们之前讲的 剧本中的任务控制指令pro_task和post_taks,K8s中的 pod hook,通过poststart和prestop,配置在pod创建和死亡的回调处理等等。...如果需要编写一些自定义的回调插件,我们可以以同样的方法来尝试 下面来看看如何通过利用CallBack插件统计资源消耗和执行时间来分析Playbook的执行性能。...在playbook执行结束时,它将显示全局摘要和每个任务的摘要。这些摘要包括 CPU 和内存消耗,以及在 playbook 和 tasks 执行期间启动的进程 的最大数量。...timer 插件显示playbook执行的持续时间。 profile_tasks 添加每个任务的开始时间,并在 playbook 执行结束时显示每个任务所用的时间,按降序排列。...profile_roles 在结束时显示每个角色所用的时间,按降序排列。

1.7K30

如何控制Ansible Playbook的执行顺序、运行选定的剧本资源

——王小波」 ---- 对 Ansible 剧本资源打标签 在处理大型或复杂的剧本时,如果只希望运行部分剧本或部分任务。可以将标签应用于可能要跳过或运行的特定资源。...,给对应的资源标记打标签,然后使用ansible-playbook运行playbook时,添加--tags选项来筛选 playbook 仅运行带有特定标签的play 或任务。...,个别剧本资源不运行,可以在运行ansible-playbook命令时,使用--skip-tags选项跳过带有特定标签的任务。...也可能希望在普通任务tasks和处理程序handler运行后运行 play 中的任务。...由于Ansible通常在多个主机上并行运行每个任务,因此 ansible-playbook 命令的输出可能无法反映预期的顺序:输出显示的是任务完成顺序,而不是执行顺序。

2.7K10
  • ansible 学习笔记

    snippet 指定模块显示剧本片段 -f --forks=NUM 并行任务数。...-B 后台运行超时时间 -P 调查后台程序时间 -T Seconds, --timeout=Seconds 时间,单位秒s -P NUM, --poll=NUM 调查背景工作每隔数秒。...--tags=TAGS 只执行指定标签的任务 例子:ansible-playbook test.yml --tags=copy 只执行标签为copy的那个任务 --list-hosts 只打印有哪些主机会执行这个...ip执行 --skip-tags=SKIP_TAGS 只运行戏剧和任务不匹配这些值的标签 --skip-tags=copy_start -e EXTRA_VARS, --extra-vars=...该指令使用需要谈到ansible的另一种模式---pull 模式,这和我们平常经常用的push模式刚好相反,其适用于以下场景:你有数量巨大的机器需要配置,即使使用非常高的线程还是要花费很多时间;你要在一个没有网络连接的机器上运行

    50410

    运维自动化工具ansible

    公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运维老大为了在年底有所表现,要求运维部门同学尽快实现,当你接到这个任务时,有没有更快的解决方案...不过,在开发的这种语言时,YAML的意思其实是:”Yet Another Markup Language”(仍是一种标记语言) 特性 YAML的可读性好 YAML和脚本语言的交互性好 YAML使用实现语言的数据类型...也可以通过指定其通过sudo的方式在远程主机上执行任务,其可用于play全局或某任务;此外,甚至可以在sudo时使用sudo_user指定sudo时切换的用户 - hosts: websrvs remote_user...在运行自下而下某playbook时,如果中途发生错误,所有已执行任务都将回滚,因此,在更正playbook后重新执行一次即可 task的目的是使用指定的参数执行模块,而在模块参数中可以使用变量。...注意:shell和command模块后面跟命令,而非key=value 某任务的状态在运行后为changed时,可通过“notify"通知给相应的handlers 任务可以通过"tags"打标签

    3.4K10

    02 . Ansible高级用法(运维开发篇)

    自动化任务简介 假设我们要在10台linux服务器上安装一个nginx服务,手动是如何做的?...我们最先展示的并非那强大的集配置,部署,自动化于一身的playbook.而是如何初始化. 远程连接概述 在我们开始前要先理解Ansible如何通过SSH与远程服务器连接是很重要的....也许这是常识,但也值得分享:任何管理系统受益于被管理的机器在主控机附近运行.如果在云中运行,可以考虑在使用云中的一台机器来运行Ansible.....在使用Ansible时,你可能不想遇到这样的情况:如果有个主机没有在“known_hosts”中被初始化将会导致在交互使用Ansible或定时执行Ansible时对key信息的确认提示....# 在运行清单文件的时候,--list-hosts选项会显示那些主机将会参与执行task的过程中。

    3.6K52

    现代 IT 人一定要知道的 Ansible系列教程:playbook

    每个任务都有一个状态, ok 表示它已成功运行。 PLAY RECAP 汇总了每个主机的 playbook 中所有任务的结果。在此示例中,有2个任务,因此 ok=2 表示每个任务都已成功运行。...(例如 -l) --sftp-extra-args 指定仅传递给 SFTP 的额外参数(例如 -f、-l) --skip-tags 仅运行标签与这些值不匹配的重头戏和任务...> 指定仅传递给 ssh 的额外参数(例如 -R) --start-at-task 在与此名称匹配的任务处启动 playbook --step 在运行前确认每个任务 --...、配置文件位置、配置的模块搜索路径、模块位置、可执行文件位置和退出 -C, --check 不要进行任何更改;相反,请尝试预测可能发生的一些变化 -D, --diff 更改(小)文件和模板时,显示这些文件的差异...-k,--ask-pass 询问连接密码 -l , --limit 进一步将选定的主机限制为其他模式 -t,--tags 仅运行标记有这些值的重头戏和任务。

    46510

    全方位对比:Python、Julia、MATLAB、IDL 和 Java (2019 版)

    该测试用例旨在测量语言访问连续内存位置的速度,并查看每种语言如何处理循环和向量化。 表 CPA-1.0:在 Xeon 节点上使用循环复制矩阵元素所用的时间。...它的第一项是: ? 斐波那契数列在经济学、计算机科学、生物学、组合学等领域都有广泛的应用。我们在计算第 n 个斐波那契数列时测量所用的时间。迭代计算和递归计算都需要计算时间。...当 n 发生变化时,测量完整全部操作所用的时间。 表 TRG-1.0:在 Xeon 节点上计算三角函数所用的时间。...通过仅在必要时创建变量以及“清空”不再使用的变量来减少内存占用非常重要。 对于相同的任务,使用内置函数会比内联代码带来更高的性能。 Julia 和 R 提供了简单的基准测试工具。...循环和向量化: 与使用循环相比,Python(和 NumPy)、IDL 和 R 在向量化时运行速度更快。 在使用 Numba 时,只要使用 NumPy 数组,Python 就可以更快地处理循环。

    3K20

    如何在Ubuntu 14.04上使用Ansible部署多个PHP应用程序

    但是,如果您在浏览器中访问http://laravel.example.com/,它应该显示我们的原始应用程序。 第3步 - 在任务中循环变量 在本节中,我们将学习如何遍历任务中的变量列表。...第4步 - 在模板中应用循环变量 在本节中,我们将介绍如何在模板中使用循环变量。 模板中的循环变量非常简单。它们的使用方式与在任务中使用的方式完全相同,就像所有其他变量一样。...完成运行后,在浏览器中刷新站点,它应该显示与上一个教程末尾相同的内容: Queue: YES Cron: YES 第5步 - 一起循环多个变量 在这一步中,我们将在任务中循环多个变量。...现在是时候运行你的剧本了: ansible-playbook php.yml --ask-sudo-pass 当设计者设置新的应用程序时,此步骤可能需要一段时间。...最后我们可以运行我们的剧本: ansible-playbook php.yml --ask-sudo-pass Ansible需要一段时间才能运行,因为它是在第二台服务器上设置了所有内容。

    8.7K00

    如何Ansible编写一个Playbook

    2、playbook基础组件 1.Hosts:运行执行任务(task)的目标主机 2.remote_user:在远程主机上执行任务的用户 3.tasks:任务列表 4.handlers:任务,与tasks...不同的是只有在接受到通知时才会被触发 5.templates:使用模板语言的文本文件 6.variables:变量,变量替换 3、playbook和临时命令的比较 1.临时命令不适合复杂配置管理或编配场景...当需要多个操作时,必须使用多个临时命令来执行。 3.playbook是描述要在受管理主机上实施的必要配置或程序性步骤的文件。playbook为配置管理和部署提供了强大而灵活的解决方案。...playbook执行时显示name属性的值。对于具有多个play和tasks的palybook,使用name属性会给监控playbook的执行提供非常大的帮助。...这会使Ansible报告在执行该playbook时将会发生什么更改,但不会对受管主机进行任何实际的更改。 下面演示了一个playbook的空运行,它在受管主机上安装了最新版本的httpd软件包。

    3K20

    如何快速学习Ansible使用

    ansible是一种自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现批量系统配置、批量程序部署、批量运行命令等功能...未分组的机器需保留在hosts的顶部,分组可以使用[]指定,如: [web] linuxtoy.org 同时,分组也能嵌套: [vps:children] web db 此外,也可以通过数字和字母模式来指定一系列连续主机...: • -i:指定inventory文件,使用当前目录下的hosts • all:针对 hosts 定义的所有主机执行,这里也可以指定组名或模式 • -m:指定所用的模块,我们使用 Ansible...使用 Playbook 管理复杂任务 对于需反复执行的、较为复杂的任务,我们可以通过定义Playbook来搞定。...,稍后可通过变量形式在Playbook中使用;vars定义变量,也可单独放在文件中;tasks指定要执行的任务。

    1.2K10

    Ansible常用功能说明

    因此在轮训检查时间内,ansible仍然正在运行(尽管某批任务已经被放到后台执行了),当前shell进程仍被占用处于睡眠状态,只有指定的检查时间间隔为0,才会尽快将所有任务放到后台并释放shell。...async参数值:代表了这个任务执行时间的上限值。即任务执行所用时间如果超出这个时间,则认为任务失败。此参数若未设置,则为同步执行。 poll参数值:代表了任务异步执行时轮询的时间间隔。...使用async和poll这两个关键字便可以并行运行一个任务,即在所有机器上一次性运行。...当在一个独立的群集环境中配置时,只是想操作其中的某一台主机,或者在特定的主机上运行task任务,此时就需要用到ansible的任务委托功能。...使用delegate_to关键字可以配置task任务在指定的机器上执行,就是说其他的task任务还是在hosts关键字配置的机器上运行,到了这个关键字所在的任务时,就使用委托的机器运行。

    8.2K43

    ansible--一键部署redis5.0.5集群及全套脚本

    我们再看看这main.yml是如何写的?...就这两句,这里就说明task的任务顺序和指定任务文件名奥! include就是干这个用的。这个就是jinjia2语句,都得记住!...async:参数值代表了这个任务执行时间的上限值。即任务执行所用时间如果超出这个时间,则认为任务失败。此参数若未设置,则为同步执行。 poll:参数值代表了任务异步执行时轮询的时间间隔。...templates有点多:波哥写个时候还挺费劲的。就不讲了,应该能看懂就是shell脚本。 咱们最后总结一下咱们这个项目的ansible-playbook的写法和特点。...2、tasks文件拆分:将一个大的目的拆分成几个大步骤,然后用main文件导入细分的二级任务文件并且控制其执行顺序。 3、变量类型声明和运算。 4、模板配置及ansible+shell脚本调用。

    61910

    开源运维自动化工具 Ansible 详解

    常用的参数如下: chdir:在远程主机上运行命令前要提前进入的目录; creates:在命令运行时创建一个文件,如果文件已存在,则不会执行创建任务; removes:在命令运行时移除一个文件,如果文件不存在...; disablerepo:在用yum安装时,临时禁用某个仓库的ID; enablerepo:在用yum安装时,临时启用某个仓库的ID; conf_file:yum运行时的配置文件,而不是使用默认的配置文件...上面介绍的ansible命令虽然可以完成各种任务,但是当配置一些复杂任务时,逐条输入就显得效率非常低下。...; remote_user:远程主机上,运行此任务的默认身份为root; tasks:任务,即定义的具体任务,由模块定义的操作列表; handlers:触发器,类似tasks,只是在特定的条件下才会触发的任务...某任务的状态在运行后为changed时,可通过“notify”通知给相应的handlers进行触发执行; roles:角色,将hosts剥离出去,由tasks、handlers等所组成的一种特定的结构集合

    4K40

    Ansible Playbook介绍和使用

    将多个play组织在一个playbook内,即可以让它们联动起来按实现编排的机制唱一台大戏 playbook采用YAML语言编写 二、ansible playbook 如何工作?...每个模块都包含元数据,这些元数据确定执行任务的时间和地点,以及执行任务的用户。还有数以千计的其他 Ansible 模块可以执行各种 IT 任务。 三、什么是 yaml?...:模板,可替换模板中的变量并实现一些简单的逻辑的文件; Handlers 和 notify:两者结合使用,由特定条件触发的操作,满足条件方才执行,否则不执行; Tags:标签,用于制定某条任务执行,用户选择运行...此外,还可以在sudo时使用sudo_user指定sudo时切换的用户。...如果你想要单独执行这个独有的tag标签的任务,就可以在使用ansible-playbook命令加上 -t 参数来指定 tag 执行剧本。

    82920

    一文详解 Ansible 自动化运维!

    常用的参数如下: chdir:在远程主机上运行命令前要提前进入的目录; creates:在命令运行时创建一个文件,如果文件已存在,则不会执行创建任务; removes:在命令运行时移除一个文件,如果文件不存在...; disablerepo:在用yum安装时,临时禁用某个仓库的ID; enablerepo:在用yum安装时,临时启用某个仓库的ID; conf_file:yum运行时的配置文件,而不是使用默认的配置文件...上面介绍的ansible命令虽然可以完成各种任务,但是当配置一些复杂任务时,逐条输入就显得效率非常低下。...更有效的方案是在playbook配置文件中放置所有的任务代码,利用ansible-playbook命令执行该文件,可以实现自动化运维。YAML文件的扩展名通常为.yaml或.yml。...某任务的状态在运行后为changed时,可通过“notify”通知给相应的handlers进行触发执行; roles:角色,将hosts剥离出去,由tasks、handlers等所组成的一种特定的结构集合

    3.1K30

    如何在Ubuntu 14.04上使用Ansible部署高级PHP应用程序

    介绍 在本教程中,我们将介绍如何设置SSH密钥以支持代码部署/发布工具,配置系统防火墙,配置和配置数据库(包括密码!),以及设置任务调度程序(crons)和队列守护进程。...shell在Ansible中使用任务时,记住在运行任务之前完成处理任务输出/结果的整个工作流程以避免必须手动登录和重置状态,这一点非常重要。...Cron任务是在设定的时间表上运行的命令,可用于为您的应用程序执行任意数量的任务,例如执行维护任务或发送电子邮件活动更新 - 基本上任何需要定期完成而无需手动用户干预的任务。...这意味着如果先前的schedule:run命令仍在运行,则不会再次运行。这有助于避免cron任务在循环中被锁定的情况,并且随着时间的推移,在服务器资源耗尽之前,会启动相同任务的越来越多的实例。...队列任务由工作者一次执行一次,并且当在队列中找到它们时将按需处理。队列任务通常用于需要时间执行的工作,例如发送电子邮件或对外部服务进行API调用。

    10.7K60

    Ansible的Playbook基操

    1.0 PlayBook核心元素 Hosts:playbook中的每一个play的目的都是为了让特定主机以某个指定的用户身份执行任务,hosts用于指定要执行指定任务的主机,须事先定义在主机清单中....也可以通过指定其通过sudo的方式在远程主机上执行任务,其可用于play全局或某任务.此外,甚至可以在sudo时使用sudo_user指定sudo时切换的用户. varniables: 内置变量或自定义变量在...: 指定某条任务执行,用于选择运行playbook中的部分代码. ansible-playbook -C hello.yaml - C 选项检查剧本是否成功,并不实际执行 1.0.1 忽略错误信息 tasks...,但是不会执行 --list-hosts: 列出运行任务的主机 --limit: 主机列表,只针对主机列表中的主机执行 -v: 显示过程 --list-tasks: 查看任务列表 ansible-playbook...task执行与否的前提时要用到条件测试, 通过when语句实现,在task中使用,jinja2的语法格式 在task后添加when子句即可使用条件测试;when语句支持Jinja2表达式语法 当ansible_distribution

    89010

    Ansible运维中剧本角色(roles)来完成apache服务操作

    我们将通过定义角色结构、编写剧本以及执行相关操作,展示如何轻松部署和管理Apache Web服务器,从而提高运维工作的灵活性和可维护性。...tags: aaa允许在执行时通过标签选择性地运行此任务。 change apache port: 使用shell模块执行命令,修改Apache配置文件,将监听端口从80改为8080。...state: started确保服务正在运行,enabled: yes确保服务在系统启动时自动启动。 tags: ccc便于通过标签选择性地执行此任务。...handlers: 存放处理程序(handlers),这些是特殊的任务,仅在被其他任务触发时执行,例如在配置文件更改后重启服务。 也通常会有一个 main.yml 文件来定义这些处理程序。...执行 进入到你创建的执行脚本目录 ansible-playbook httpd.yml 可以看到脚本执行完毕 实验结束 总结 本文介绍了如何利用Ansible实现Apache HTTP服务器的自动化管理

    7010
    领券