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” –
# 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 –
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.