ansible批量部署zabbix客户端

✅ansible编写剧本步骤

  • 1️⃣创建roles目录结构
  • 2️⃣在group_vars/all/main.yml中定义变量列表
  • 3️⃣在tasks目录下编写tasks任务
  • 4️⃣在files目录下准备部署文件
  • 5️⃣在templates目录下创建j2模板文件
  • 6️⃣在handlers目录下编写handlers
  • 7️⃣在roles目录下编写主playbook
  • 8️⃣运行主playbook
  • 9️⃣检查验证

🌟ansible自动化安装zabbix客户端

  • 1️⃣创建roles目录结构
bash 复制代码
mkdir -p zabbix-agent/{files,handlers,tasks,templates}
  • 2️⃣在group_vars/all/main.yml中定义变量列表
  • 3️⃣在tasks目录下编写tasks任务
yaml 复制代码
- name: 1.配置zabbix源
  copy:
    src: zabbix.repo
    dest: /etc/yum.repos.d/
    backup: yes

- name: 2.安装zabbix客户端
  yum:
    name: zabbix-agent2
    state: present

- name: 3.分发配置文件
  copy:
    src: "{{ item.src }}"
    dest: "{{ item.dest }}"
    backup: yes
  loop:
    - {src: zabbix_agent2.conf,dest: /etc/zabbix/}
    - {src: sys.conf,dest: /etc/zabbix/zabbix_agent2.d/}
  notify:
    - restart_zabbix

- name: 4.启动zabbix
  systemd:
    name: zabbix-agent2
    enabled: yes
    state: started
  • 4️⃣在files目录下准备部署文件
  • zabbix.repo
bash 复制代码
[zabbix]
name=zabbix
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/7/x86_64/
enabled=1
gpgcheck=0
  • zabbix_agent2.conf
bash 复制代码
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=172.16.1.63
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=/etc/zabbix/zabbix_agent2.d/plugins.d/*.conf
  • sys.conf
bash 复制代码
UserParameter=proc.zombie,top -bn1 | awk 'NR==2{print $(NF-1)}'
UserParameter=user.login.ip[*],lastlog -u root | awk 'NR==2{print $$3}'
  • 5️⃣在templates目录下创建j2模板文件
  • 6️⃣在handlers目录下编写handlers
yaml 复制代码
- name: restart_zabbix
  systemd:
    name: zabbix-agent2
    state: restarted
  • 7️⃣在roles目录下编写主playbook
yaml 复制代码
- hosts: all
  roles:
    - zabbix-agent
  • 8️⃣运行主playbook
bash 复制代码
ansible-playbook top.yml
  • 9️⃣检查验证
bash 复制代码
ansible lb -m shell -a 'zabbix_agent2 -t "system.hostname"'
相关推荐
生活很暖很治愈4 分钟前
Linux——基础IO&软硬链接
linux·ubuntu
2401_8589368817 分钟前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
Roc.Chang29 分钟前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂1 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro2 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
程序员老舅2 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华3 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
Yeats_Liao3 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒3 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习