我在库存中的所有主机上运行一个简单的Ansible ad命令,我希望Ansible也显示从每个主机返回输出所需的时间。我可以看到日志中的时间,但我想把它作为stdout。
我尝试在callback_whitelist = profile_tasks中添加ansible.cfg,但这并没有帮助。
例如,Ansible output显示
[demo@demoserver ~]$ ansible all -m shell -a 'hostname -f'
worker0 | CHANGED | rc=0 >>
iworker0.unix.demo.com
worker2 | CHANGED | rc=0 >>
iworker2.unix.demo.com
worker1 | CHANGED | rc=0 >>
iworker1.unix.demo.com
worker3 | CHANGED | rc=0 >>
iworker3.unix.demo.com日志显示
2020-01-30 15:46:27,924 p=22811 u=demo | worker0 | CHANGED | rc=0 >>
iworker0.unix.demo.com
2020-01-30 15:46:27,955 p=22811 u=demo | worker2 | CHANGED | rc=0 >>
iworker2.unix.demo.com
2020-01-30 15:46:27,960 p=22811 u=demo | worker1 | CHANGED | rc=0 >>
iworker1.unix.demo.com
2020-01-30 15:46:27,975 p=22811 u=demo | worker3 | CHANGED | rc=0 >>
iworker3.unix.demo.com因此,我希望日志中的时间也以stdout的形式出现。这有可能吗?
[demo@demoserver ~]$ ansible --version
ansible 2.7.12
config file = /home/demo/ansible.cfg
configured module search path = [u'/home/demo/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Jun 11 2019, 14:33:56) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]发布于 2021-12-24 11:51:57
关于你的要求
,我希望Ansible也能显示从每个主机返回输出所花费的时间
和评论
之前试过..。结果是一个
non-zero return code,用于time ; hostname -f和time && hostname -f
命令
ansible test --user ${ACCOUNT} --ask-pass -m shell --args 'time hostname -f'只是在工作并产生一个
SSH password:
test.example.com | CHANGED | rc=0 >>
test.example.com
real 0m0.003s
user 0m0.001s
sys 0m0.002s关于你的要求
我希望日志中的时间以
stdout的形式出现
它不显示执行命令所需的时间,而是日期时间,您可以在命令之后添加时间戳,如下所示
ansible test --user ${A_ACCOUNT} --ask-pass -m shell --args 'hostname -f; date +"%T.%3N"'它产生的输出
SSH password:
test.example.com | CHANGED | rc=0 >>
test.example.com
12:34:56.789多亏了
https://stackoverflow.com/questions/59990104
复制相似问题