我已经配置了一个剧本来安装,配置和启动osquery工具。剧本执行错误。 “ osqueryd未运行。未找到pidfile。”
完全错误
TASK [osquery-client : check agent status again] ********************************************************************************************************************
fatal: [13.57.34.71]: FAILED! => {"changed": true, "cmd": ["/usr/bin/osqueryctl", "status"], "delta": "0:00:00.021902", "end": "2019-10-16 19:19:50.523876", "msg": "non-zero return code", "rc": 7, "start": "2019-10-16 19:19:50.501974", "stderr": "", "stderr_lines": [], "stdout": "osqueryd is not running. no pidfile found.", "stdout_lines": ["osqueryd is not running. no pidfile found."]}
我的task / main.yml定义为:
- name: check agent status again
command: /usr/bin/osqueryctl status
ignore_errors: yes
并且pid文件位于此处
--pidfile=/var/run/osqueryd.pidfile
难道会在错误的位置寻找pid吗?
答案 0 :(得分:0)
将此睡眠命令添加到任务中似乎可行
- name: check agent status again
command: /usr/bin/osqueryctl status
command: sleep 5
ignore_errors: yes
答案 1 :(得分:0)
Ansible不查找pid文件。它执行/ usr / bin / osqueryctl状态。如果您手动执行它会返回什么?