ansible-playbook部署zabbix
变量文件的基础使用文章目录变量文件的基础使用变量文件的基础使用目录创建用户管理 Playbook变量文件的加载位置使用 Ansible Vault 加密变量加密变量文件执行加密的 Playbook查看与解密组织变量主机变量与组变量目录结构组变量示例实战使用 Playbook 部署 Zabbix 监控系统环境说明安装 Ansible MySQL Collection完整 Playbookzabbix.yml注意事项变量文件的基础使用目录1. 变量文件的基础使用1.1 创建用户管理 Playbook1.2 变量文件的加载位置2. 使用 Ansible Vault 加密变量2.1 加密变量文件2.2 执行加密的 Playbook2.3 查看与解密3. 组织变量主机变量与组变量3.1 目录结构3.2 组变量示例4. 实战使用 Playbook 部署 Zabbix 监控系统4.1 环境说明4.2 安装 Ansible MySQL Collection4.3 完整 Playbookzabbix.yml4.4 注意事项创建用户管理 Playbook假设我们需要为一组 Web 服务器批量创建用户可以将用户列表独立存放在变量文件中便于维护。Playbook 文件user.ymlvim user.yml----hosts:webserversgather_facts:notasks:-name:Add the usersansible.builtin.user:name:{{ item.user }}password:{{ item.pass | password_hash(sha512) }}state:presentloop:{{ userlist }}变量文件userlist.ymlvim userlist.yml---userlist:-{user:user1,pass:pass1}-{user:user2,pass:pass2}-{user:user3,pass:pass3}执行 Playbook假设 webservers 组中只包含 node1ansible-playbook user.yml变量文件的加载位置默认情况下Ansible 会在 Playbook 所在目录寻找变量文件需通过 vars_files 或 include_vars 加载。若未显式指定路径则需将变量文件放在对应的 host_vars 或 group_vars 目录下见下文。使用 Ansible Vault 加密变量mkdirhosts_varscdhosts_varsmkdirnode1cdnode1cd..cd..cpuserlist.yml ./host_vars/node1/vault加密变量文件为了防止密码等敏感信息泄露可以使用 ansible-vault 对变量文件进行加密cdhostansible-vault encrypt vault加密后文件内容变为密文只有输入正确的 Vault 密码才能查看或使用。执行加密的 Playbook执行时需要提供 Vault 密码ansible-playbook user.yml --ask-vault-pass系统将提示输入密码验证通过后 Playbook 正常运行。#文件加密ansible-vault encrypt userlist.yml查看与解密查看加密文件内容需密码sudoansible-vault view userlist.yml输入密码即可查看文件内容执行方法ansible-playbook user.yml --ask-vault-pass解密文件ansible-vault decrypt userlist.yml组织变量主机变量与组变量目录结构为了更规范地管理不同主机或组的差异化变量推荐使用 host_vars 和 group_vars 目录ansible_project/ ├── group_vars/ │ └── webservers/ │ └── vars# 组变量文件├── host_vars/ │ └── node1/ │ └── vault# 主机变量文件可加密├── user.yml └── userlist.ymlmkdirgroup_varscdgroup_varsmkdirwebserverscdwebservers组变量示例在 group_vars/webservers/vars 中定义该组所有主机共用的变量vimvars --- http_port:8080ansible-playbook apache.yml使用时Playbook 可直接引用 {{ http_port }}。实战使用 Playbook 部署 Zabbix 监控系统环境说明目标主机zabbix-server组或主机操作系统RHEL 9 / Rocky Linux 9如需 RHEL 7 可调整仓库 URL数据库MySQL使用 MariaDB安装 Ansible MySQL CollectionPlaybook 中使用了 mysql_db 和 mysql_user 模块需要先安装对应 Collectionansible-galaxy collectioninstallansible.mysql完整 Playbookzabbix.yml----hosts:zabbix-servertasks:# 1. 添加 Zabbix 官方仓库Rocky 9 版本-name:add zabbix repoansible.builtin.yum:name:https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpmstate:present# 2. 安装 Zabbix 服务端、Web、SQL脚本、SELinux策略及Agent-name:install zabbix-serveransible.builtin.yum:name:-zabbix-server-mysql-zabbix-web-mysql-zabbix-sql-scripts-zabbix-selinux-policy-zabbix-agentstate:present# 3. 安装 MySQL此处使用 MariaDB-name:install mysql-serveransible.builtin.yum:name:-mariadb-server-python3-PyMySQL# Python 连接 MySQL 的驱动state:present# 4. 启动并启用 MariaDB 服务-name:enable service mysqlansible.builtin.service:name:mariadbstate:startedenabled:yes# 5. 创建 Zabbix 数据库指定字符集-name:init zabbix databasemysql_db:name:zabbixstate:presentencoding:utf8mb4collation:utf8mb4_binvars:ansible_python_interpreter:/usr/bin/python3# 6. 创建 Zabbix 数据库用户并授权-name:create zabbix usermysql_user:name:zabbixstate:presenthost:localhostpassword:zabbixpriv:zabbix.*:ALLvars:ansible_python_interpreter:/usr/bin/python3# 7. 临时开启 log_bin_trust_function_creators导入数据需要-name:set log_bin_trust_function_creators to 1mysql_variables:variable:log_bin_trust_function_creatorsvalue:1vars:ansible_python_interpreter:/usr/bin/python3# 8. 导入 Zabbix 初始数据库结构使用 zcat 解压并导入-name:import zabbix sql scriptsansible.builtin.shell:|zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-setutf8mb4 -uzabbix -pzabbix zabbix touch /etc/zabbix/.init_db_sql.lockargs:creates:/etc/zabbix/.init_db_sql.lockvars:ansible_python_interpreter:/usr/bin/python3# 9. 导入完成后关闭 log_bin_trust_function_creators-name:set log_bin_trust_function_creators to 0mysql_variables:variable:log_bin_trust_function_creatorsvalue:0vars:ansible_python_interpreter:/usr/bin/python3ansible-playbook zabbix.yml注意事项Python 解释器路径使用 mysql_* 模块时需要明确指定 ansible_python_interpreter 为 /usr/bin/python3否则可能报错。幂等性通过 creates 参数判断锁文件是否存在避免重复导入 SQL 脚本。密码安全生产环境应将数据库密码加密存储Vault并避免在 Playbook 中明文书写。操作系统版本请根据目标系统的发行版选择合适的 Zabbix 仓库 URLRHEL 7/8/9。

相关新闻

AI时代网络安全新范式:从边界防护到行为监控的防御者窗口实践

AI时代网络安全新范式:从边界防护到行为监控的防御者窗口实践

当你的代码库被AI助手扫描、你的API密钥在日志中泄露、你的内部文档被大模型“学习”并对外泄露时,网络安全的第一道防线是否已经悄然失守?这不是危言耸听,而是每个将AI能力引入研发流程的团队正在面临的真实风险。 “OpenAI 防御者窗口”并…

2026/8/22 12:35:45 阅读更多 →
开源阅读 书源 2026最新10000+书源 零基础上手配置+全套使用实操教程

开源阅读 书源 2026最新10000+书源 零基础上手配置+全套使用实操教程

目前市面上绝大多数阅读类应用普遍存在广告泛滥、开屏弹窗、付费解锁章节、推送打扰等问题,且界面臃肿、权限索取过多,阅读体验大打折扣。同时多数阅读器固化资源、自定义程度极低,无法适配个人阅读习惯,藏书管理杂乱无章。 完全…

2026/8/22 12:15:40 阅读更多 →
从0复现YOLO核心:手写简化版YOLO网络,彻底理解目标检测原理

从0复现YOLO核心:手写简化版YOLO网络,彻底理解目标检测原理

很多人用了很久YOLO,调参、训模型、做部署都很熟练,但真问起核心原理,往往说不清楚:网格划分到底怎么工作?正负样本怎么分配?损失函数每一项怎么算?输出张量的每个维度对应什么? 调包…

2026/8/22 11:32:35 阅读更多 →

最新新闻

三步解包微信小程序:unwxapkg 解 wxapkg 工具完整指南

三步解包微信小程序:unwxapkg 解 wxapkg 工具完整指南

三步解包微信小程序:unwxapkg 解 wxapkg 工具完整指南 【免费下载链接】unwxapkg WeChat applet .wxapkg decoding tool 项目地址: https://gitcode.com/gh_mirrors/un/unwxapkg 这篇文章写给从没碰过微信小程序解包、连 .wxapkg 是什么都搞不清的你。我会手…

2026/8/22 14:01:41 阅读更多 →
以太网接口与链路配置实战:从基础参数到链路聚合优化

以太网接口与链路配置实战:从基础参数到链路聚合优化

1. 项目概述:从接口到链路的实战脉络搞网络的人,每天打交道最多的可能就是以太网接口了。从机房里一排排闪烁的交换机端口,到服务器后面板上的网卡,再到你工位下那个不起眼的RJ-45水晶头,这些都是以太网接口的物理呈现…

2026/8/22 14:01:41 阅读更多 →
Java插入排序算法详解:从原理到实战应用与优化

Java插入排序算法详解:从原理到实战应用与优化

1. 项目概述:为什么插入排序是算法入门的“定心丸”刚接触数据结构与算法的朋友,尤其是从Java开始的朋友,常常会被各种排序算法的名字和复杂度公式吓到。冒泡、选择、快速、归并……听起来一个比一个复杂。但如果你问我,在十大经典…

2026/8/22 14:01:41 阅读更多 →
HTTP 5xx服务器错误全解析:从502/504到503,实战排查与架构预防指南

HTTP 5xx服务器错误全解析:从502/504到503,实战排查与架构预防指南

1. 从一次深夜告警说起:为什么5xx错误让人头疼凌晨两点,手机突然开始疯狂震动。打开一看,监控系统里一片飘红,全是“HTTP 500 Internal Server Error”的告警。用户反馈页面打不开,订单提交失败,整个核心业…

2026/8/22 14:01:41 阅读更多 →
SprocketsHandler还是RackHandler?serviceworker-rails双处理器差异、切换与自定义方法完全指南

SprocketsHandler还是RackHandler?serviceworker-rails双处理器差异、切换与自定义方法完全指南

SprocketsHandler还是RackHandler?serviceworker-rails双处理器差异、切换与自定义方法完全指南 【免费下载链接】serviceworker-rails Use Service Worker with the Rails asset pipeline 项目地址: https://gitcode.com/gh_mirrors/se/serviceworker-rails …

2026/8/22 14:01:40 阅读更多 →
2000-2024年全球1km人口密度栅格数据全集

2000-2024年全球1km人口密度栅格数据全集

长时间序列的人口密度栅格数据是解析人类活动时空演进轨迹的核心工具。这套数据能够系统揭示人口分布随时间的动态演变规律,精准识别人口增长、空间迁移、集聚效应与收缩格局的多维模式,为城市规划优化、资源合理配置、环境保护决策、灾害风险预警以及社…

2026/8/22 14:00:40 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/22 8:09:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →