--- - hosts: "{{hosts}}" remote_user: root tasks: # 创建目录 - name: create data directory file: path: "{{ item }}" state: directory recurse: yes owner: root group: root with_items: - /data/server - /data/logs # 解压 - name: unarchive filebeat-7.3.0-linux-x86_64.tar.gz to /data/server/ unarchive: src: filebeat-7.3.0-linux-x86_64.tar.gz dest: /data/server/ owner: root group: root creates: /data/server/filebeat-7.3.0-linux-x86_64 # 复制supervisor配置文件 - name: copy node_exporter.ini copy: src=conf/filebeat.ini dest=/etc/supervisord.d/filebeat.ini notify: supervisorctl update # 立即执行 handlers - meta: flush_handlers # 延迟5s,等待 filebeat 启动 - name: sleep 5 shell: sleep 5 # 检查 进程 - name: check_process shell: ps -ef | grep filebeat | grep -v "grep" | wc -l register: check_process - debug: var=check_process # 判断启动有没有成功 - name: check node_exporter status debug: msg: "node_exporter is running" when: - check_process.stdout == "1" # 尝试重启 - name: restart node_exporter shell: supervisorctl restart filebeat when: - check_process.stdout == "0" handlers: - name: supervisorctl update shell: supervisorctl update # ansible-playbook /etc/ansible/java/install_filebeat.yml -e "hosts=dev" --private-key=/etc/ansible/new_www.key