如何获取ansible-playbook模块执行的日志/详细信息? [英] How do I get logs/details of ansible-playbook module executions?

查看:4585
本文介绍了如何获取ansible-playbook模块执行的日志/详细信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

说我执行以下操作.

$ cat test.sh
#!/bin/bash
echo Hello World
exit 0

$ cat Hello.yml
---

- hosts: MyTestHost
  tasks:
  - name: Hello yourself
    script: test.sh


$ ansible-playbook  Hello.yml

PLAY [MyTestHost] ****************************************************************

GATHERING FACTS ***************************************************************
ok: [MyTestHost]

TASK: [Hello yourself] ********************************************************
ok: [MyTestHost]

PLAY RECAP ********************************************************************
MyTestHost                    : ok=2    changed=0    unreachable=0    failed=0

$

我肯定会成功.

我在哪里/如何看到我的脚本在远程主机(MyTestHost)上回显/打印的"Hello World"?还是脚本的返回/退出代码?

我的研究表明,可以编写一个插件来拦截模块执行回调或这些行上的内容并编写日志文件.我希望不要浪费时间.

My research shows me it would be possible to write a plugin to intercept module execution callbacks or something on those lines and write a log file. I would prefer to not waste my time with that.

例如类似于下面的stdout(请注意,我正在运行ansible而不是ansible-playbook):

E.g. something like the stdout in below (note that I'm running ansible and not ansible-playbook):

$ ansible plabb54 -i /project/plab/svn/plab-maintenance/ansible/plab_hosts.txt -m script -a ./test.sh
plabb54 | success >> {
    "rc": 0,
    "stderr": "",
    "stdout": "Hello World\n"
}

$

推荐答案

如果在命令行上将-v标志传递给ansible-playbook,您将看到执行的每个任务的stdout和stderr:

If you pass the -v flag to ansible-playbook on the command line, you'll see the stdout and stderr for each task executed:

$ ansible-playbook -v playbook.yaml

Ansible还具有内置的日志记录支持.将以下行添加到您的可配置文件:

Ansible also has built-in support for logging. Add the following lines to your ansible configuration file:

[defaults] 
log_path=/path/to/logfile

Ansible将在多个位置查找配置文件:

Ansible will look in several places for the config file:

    您运行ansible-playbook 的当前目录中的
  • ansible.cfg
  • ~/.ansible.cfg
  • /etc/ansible/ansible.cfg
  • ansible.cfg in the current directory where you ran ansible-playbook
  • ~/.ansible.cfg
  • /etc/ansible/ansible.cfg

这篇关于如何获取ansible-playbook模块执行的日志/详细信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆