我使用 ansible 脚本来启动服务器配置。我从服务器内部运行脚本,并在本地主机清单上执行所有操作。
现在我与服务器的 ssh 连接已关闭,我找不到日志文件。此标准日志路径在哪里?/var/log 下没有 ansible 文件。
我正在再次运行该脚本,并且我预计错误会再次出现,但这不是一个很好的解决方案,因为脚本需要几个小时才能运行到错误点。
答案1
Ansible 默认不会创建自己的日志 - 您必须使用文件来告诉它这样做ansible.cfg
。Ansible 会一些默认记录到系统日志:
请注意,如果没有此设置,ansible 会将调用的模块参数记录到 syslog 中管理機器。
这样就可以将模块参数记录到系统日志中你管理的机器。
开启满的登录到你的控制机器上,你可以创建一个ansible.cfg
如下文件:
[defaults]
log_path = ./ansible.log
然后将其保存在 ansible 会查找的位置。Ansibleansible.cfg
按以下顺序检查这些位置的文件:
- ANSIBLE_CONFIG(环境变量)
- ansible.cfg(在当前目录中)
- .ansible.cfg(在主目录中)
- /etc/ansible/ansible.cfg
另一种选择是将环境变量设置ANSIBLE_LOG_PATH
为您想要登录的路径 - 这相当于log_path
在ansible.cfg
文件中设置选项。
答案2
在系统的 syslog 文件位置中仔细查找。我通常会找到它(Ubuntu 12.04)。
如果失败的话,您可能需要运行ansible-playbook -vvvv $args
以打开一些调试日志,然后tee
将其保存到文件中。