Ansible – enable logging
Posted by danielJan 7
Ansible – Enable logging
By default, Ansible logs the output of playbooks to the standard output only. In order to enable logging to a file for later review or auditing, it can be turned on by setting log_path to a path location where Ansible has a write access.
In my case, i have added the “log_path” setting in the ansible configuration file “/etc/ansible/ansible.cfg” –
1 2 | # grep log_path /etc/ansible/ansible.cfg log_path = /var/log/ansible .log |
Now I can view the log file to all the details on ansible runs –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | root@linubuvma: /etc/ansible # ansible-playbook tasks/groupby.yml --check PLAY [all:!swarm:!docker1] **************************************************** TASK: [group_by key=os_{{ ansible_os_family }}] ******************************* changed: [ns2] ..... root@linubuvma: /etc/ansible # ls -al /var/log/ansible.log -rw-r--r-- 1 root root 4255 May 16 21:21 /var/log/ansible .log root@linubuvma: /etc/ansible # head /var/log/ansible.log 2015-05-16 21:21:43,732 p=22946 u=root | 2015-05-16 21:21:43,732 p=22946 u=root | /usr/local/bin/ansible-playbook tasks /groupby .yml --check 2015-05-16 21:21:43,732 p=22946 u=root | 2015-05-16 21:21:43,734 p=22946 u=root | ERROR: the playbook: tasks /groupby .yml could not be found 2015-05-16 21:21:48,575 p=22954 u=root | 2015-05-16 21:21:48,576 p=22954 u=root | /usr/local/bin/ansible-playbook tasks /groupby .yml --check 2015-05-16 21:21:48,576 p=22954 u=root | 2015-05-16 21:21:48,594 p=22954 u=root | PLAY [all:!swarm:!docker1] **************************************************** 2015-05-16 21:21:48,609 p=22954 u=root | TASK: [group_by key=os_{{ ansible_os_family }}] ******************************* 2015-05-16 21:21:48,641 p=22954 u=root | changed: [ns2] |
It logs dry-runs (–check) as well and it is smart enough not to log Password arguments.
References –
http://docs.ansible.com/ansible/latest/intro_configuration.html#log-path
No comments
You must be logged in to post a comment.