Ansible剧本任务-命令找不到pid,但服务已正确启动

时间:2019-10-16 19:52:54

标签: ansible

我已经配置了一个剧本来安装,配置和启动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吗?

2 个答案:

答案 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状态。如果您手动执行它会返回什么?