ansible 部署 filebeat
准备工作
创建roles目录
# mkdir -pv /data/apps/ansible/roles/filebeat/{files,tasks,handlers,templates,vars}
hosts
[filebeat]
172.16.18.31 ansible_ssh_port=22 ansible_ssh_user=ubuntu hostname=filebeat-01
测试连通性
# ansible filebeat -m ping
172.16.18.247 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
创建角色相关文件
tasks/main.yml
- include: unarchive.yml
- include: conf.yml
- include: service.yml
tasks/unarchive.yml
- name: Create a directory if it does not exist
ansible.builtin.file:
path: /data/apps/filebeat
state: directory
- name: copy tar to remote host and file mode
unarchive:
src: filebeat-8.7.0-linux-x86_64.tar.gz
dest: /data/apps/filebeat/
- name: create ln
file:
src: /data/apps/filebeat/filebeat-8.7.0-linux-x86_64
dest: /usr/local/filebeat
state: link
tasks/conf.yml
- name: filebeat.yml
copy:
src: filebeat.yml
dest: /usr/local/filebeat/filebeat.yml
tasks/service.yml
- name: service script
copy:
src: filebeat.service
dest: /lib/systemd/system/filebeat.service
- name: start service
service:
name: filebeat
state: started
enabled: yes
查看相关文件
# tree /data/apps/ansible/roles/filebeat/
/data/apps/ansible/roles/filebeat/
├── files
│ ├── filebeat-8.7.0-linux-x86_64.tar.gz
│ ├── filebeat.service
│ └── filebeat.yml
├── handlers
├── tasks
│ ├── conf.yml
│ ├── main.yml
│ ├── service.yml
│ └── unarchive.yml
├── templates
└── vars
5 directories, 7 files
playbook调用角色
filebeat_roles.yml
- hosts: filebeat
remote_user: ubuntu
become: yes
roles:
- role: filebeat
运行playbook
# ansible-playbook filebeat_roles.yml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性