如何读取/理解目标主机上的ansible日志(由syslog编写)

时间:2016-12-01 14:50:24

标签: ansible

当你在某个主机上执行ansible时,它会写入该主机上的syslog,如下所示:

Dec  1 15:00:22 run-tools python: ansible-<stdin> Invoked with partial=False links=None copy_links=None perms=None owner=False rsync_path=None dest_port=22 _local_rsync_path=rsync group=False existing_only=False archive=True _substitute_controller=False verify_host=False dirs=False private_key=None dest= compress=True rsync_timeout=0 rsync_opts=None set_remote_user=True recursive=None src=/etc/ansible/repo/external/golive/ checksum=False times=None mode=push ssh_args=None delete=False 
Dec  1 15:00:22 run-tools python: ansible-<stdin> Invoked with partial=False links=None copy_links=None perms=None owner=False rsync_path=None dest_port=22 _local_rsync_path=rsync group=False existing_only=False archive=True _substitute_controller=False verify_host=False dirs=False private_key=None dest= compress=True rsync_timeout=0 rsync_opts=None set_remote_user=True recursive=None src=/etc/ansible/repo/external/golive/ checksum=False times=None mode=push ssh_args=None delete=False 
Dec  1 15:00:22 run-tools python: ansible-<stdin> Invoked with partial=False links=None copy_links=None perms=None owner=False rsync_path=None dest_port=22 _local_rsync_path=rsync group=False existing_only=False archive=True _substitute_controller=False verify_host=False dirs=False private_key=None dest= compress=True rsync_timeout=0 rsync_opts=None set_remote_user=True recursive=None src=/etc/ansible/repo/external/golive/ checksum=False times=None mode=push ssh_args=None delete=False 
Dec  1 15:00:56 run-tools python: ansible-<stdin> Invoked with filter=* fact_path=/etc/ansible/facts.d 
Dec  1 15:09:56 run-tools python: ansible-<stdin> Invoked with checksum_algorithm=sha1 mime=False get_checksum=True path=/usr/local/bin/check_open_files_generic.sh checksum_algo=sha1 follow=False get_md5=False 
Dec  1 15:09:56 run-tools python: ansible-<stdin> Invoked with directory_mode=None force=False remote_src=None path=/usr/local/bin/check_open_files_generic.sh owner=root follow=False group=root state=None content=NOT_LOGGING_PARAMETER serole=None diff_peek=None setype=None dest=/usr/local/bin/check_open_files_generic.sh selevel=None original_basename=check_open_files_generic.sh regexp=None validate=None src=check_open_files_generic.sh seuser=None recurse=False delimiter=None mode=0755 backup=None 
Dec  1 15:20:03 run-tools python: ansible-<stdin> Invoked with warn=True executable=None _uses_shell=False _raw_params=visudo -c removes=None creates=None chdir=None 

是否有任何关于这些日志的文档或说明可以帮助我理解如何阅读它们?具体来说,我希望能够看到ansible究竟做了什么,触摸了哪些文件等等。有可能在那里找到它吗?或者重新配置ansible以便在那里写出这种信息?

是否可以配置这些日志?怎么样?

1 个答案:

答案 0 :(得分:0)

我不知道具体解释syslog消息内容的文档。但是,您可以查看AnsibleModule.log()中的一些日志记录代码,了解正在进行的操作。基本上,它是报告模块名称和调用它们的参数。

对于配置日志,有一些很好的建议可以回应this related question。总结是,您可以通过指定日志路径并使用详细-v标志运行来获取更多信息 - 包括您对ansible所做的请求。对于更精细的控制,您可以从两个不同的角度解决问题:

  • 从剧本方面,您可以使用debug模块或tailor your handling of changed/failed results来满足您的需求。这两个更改都可以为您的日志输出添加有用的上下文。

  • 在Playbooks之外,您可以使用Ansible callback plugins来控制日志记录。 Here是一个回调插件的示例,它拦截日志并输出更易读的内容。