Zabbix 7.4 Alpine 版 Docker Compose 部署
compose.yamlservices: # --------------------------------------------------------------------------- # 1. 数据库服务 (MariaDB) # --------------------------------------------------------------------------- zabbix-db: image: mariadb:11.8 container_name: zabbix-db restart: always command: - --character-set-serverutf8mb4 - --collation-serverutf8mb4_bin - --default-authentication-pluginmysql_native_password - --innodb-buffer-pool-size1G - --innodb-log-file-size256M - --max-connections500 environment: MYSQL_DATABASE: ${MYSQL_DATABASE:-zabbix} MYSQL_USER: ${MYSQL_USER:-zabbix} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-zabbix_secret_password} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root_secret_password} volumes: - db-data:/var/lib/mysql networks: - zabbix-net healthcheck: test: [CMD, healthcheck.sh, --connect, --innodb_initialized] interval: 10s timeout: 5s retries: 5 # --------------------------------------------------------------------------- # 2. Zabbix Server 服务 (MySQL/MariaDB 后端) # --------------------------------------------------------------------------- zabbix-server: image: zabbix/zabbix-server-mysql:alpine-7.4-latest container_name: zabbix-server restart: always ports: - 10051:10051 environment: DB_SERVER_HOST: zabbix-db MYSQL_DATABASE: ${MYSQL_DATABASE:-zabbix} MYSQL_USER: ${MYSQL_USER:-zabbix} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-zabbix_secret_password} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root_secret_password} ZBX_JAVAGATEWAY_ENABLE: false ZBX_CACHESIZE: 128M ZBX_HISTORYCACHESIZE: 128M ZBX_HISTORYINDEXCACHESIZE: 64M ZBX_TRENDCACHESIZE: 64M ZBX_VALUECACHE_SIZE: 256M TZ: Asia/Shanghai volumes: - /etc/localtime:/etc/localtime:ro - zabbix-alertscripts:/usr/lib/zabbix/alertscripts - zabbix-externalscripts:/usr/lib/zabbix/externalscripts networks: - zabbix-net depends_on: zabbix-db: condition: service_healthy # --------------------------------------------------------------------------- # 3. Zabbix Web 前端 (Nginx PHP-FPM) # --------------------------------------------------------------------------- zabbix-web-nginx: image: zabbix/zabbix-web-nginx-mysql:alpine-7.4-latest container_name: zabbix-web-nginx restart: always ports: - 8080:8080 - 8443:8443 environment: DB_SERVER_HOST: zabbix-db MYSQL_DATABASE: ${MYSQL_DATABASE:-zabbix} MYSQL_USER: ${MYSQL_USER:-zabbix} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-zabbix_secret_password} ZBX_SERVER_HOST: zabbix-server PHP_TZ: Asia/Shanghai volumes: - /etc/localtime:/etc/localtime:ro networks: - zabbix-net depends_on: zabbix-db: condition: service_healthy zabbix-server: condition: service_started # --------------------------------------------------------------------------- # 4. Zabbix Agent 2 (监控宿主机自身) # --------------------------------------------------------------------------- zabbix-agent2: image: zabbix/zabbix-agent2:alpine-7.4-latest container_name: zabbix-agent2 restart: always ports: - 10050:10050 privileged: true pid: host environment: ZBX_SERVER_HOST: zabbix-server,127.0.0.1 ZBX_HOSTNAME: Zabbix server volumes: - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /:/host:ro networks: - zabbix-net depends_on: - zabbix-server # ----------------------------------------------------------------------------- # 持久化 Data Volume # ----------------------------------------------------------------------------- volumes: db-data: driver: local zabbix-alertscripts: driver: local zabbix-externalscripts: driver: local # ----------------------------------------------------------------------------- # 网络配置 # ----------------------------------------------------------------------------- networks: zabbix-net: driver: bridge生产部署要点说明环境凭据安全强烈建议在compose.yaml同级目录下新建一个.env文件将密码替换为自定义安全字符串代码段MYSQL_DATABASEzabbix MYSQL_USERzabbix MYSQL_PASSWORDYourStrongDBPassword123! MYSQL_ROOT_PASSWORDYourStrongRootPassword123!性能与缓存优化在zabbix-db中添加了参数--innodb-buffer-pool-size1G在zabbix-server中放大了ZBX_VALUECACHE_SIZE等缓存配置避免中大型监控场景下的缓存瓶颈。健康检查依赖(Healthcheck)使用depends_on: condition: service_healthy确保 MariaDB 完全初始化并准备好接收连接后Zabbix Server 才会启动建表避免首次启动时 Server 因数据库未就绪而频繁崩溃重启。宿主机监控Agent 2 挂载了/var/run/docker.sock和根目录/host:ro并开启pid: host可直接通过官方模板采集宿主机的 CPU、内存、磁盘以及 Docker 容器状态。前端 Web 页面配置登录 Zabbix Web 界面(默认端口8080初始账号密码Admin/zabbix)。点击左侧菜单Data collection-Hosts。找到默认生成的Zabbix server主机(如果禁用状态则启用它)。点击进入配置Host name必须与compose.yaml中环境变量ZBX_HOSTNAME: Zabbix server完全一致(区分大小写)。Interfaces(接口配置)选择Agent类型。DNS name填zabbix-agent2(Docker 服务名/容器名)。Connect to选择DNS。Port10050。保存后等待 1~2 分钟页面上该主机的BX标识变为绿色即代表连接成功。监控外部物理机 / 其他服务器上的 Agent 2如果你是在其他独立服务器上安装了 Zabbix Agent 2需要将其连接回 Docker 运行的 Zabbix Server。1. 外部服务器的zabbix_agent2.conf配置修改 Agent 2 的配置文件(通常位于/etc/zabbix/zabbix_agent2.conf)Ini, TOML# 被动模式允许来自 Zabbix Server 宿主机公网/内网 IP 的轮询请求 Server192.168.1.100 # 主动模式Agent 2 主动向 Zabbix Server 汇报数据 ServerActive192.168.1.100:10051 # 本机标识必须与 Web 界面添加 Host 时的 Host name 完全一致 HostnameWeb-Server-01(注意将192.168.1.100替换为你运行 Zabbix Docker 的宿主机实际 IP)修改后重启外部 Agent 2 服务Bashsystemctl restart zabbix-agent22. 前端 Web 页面添加该主机路径Data collection-Hosts- 点击右上角Create host。Host name填写Web-Server-01(对应 Agent 配置文件中的Hostname)。Templates添加官方模板Linux by Zabbix agent ZBX或System Performance by Zabbix agent。Interfaces- AddAgentIP address填写外部服务器的实际 IP。Connect to选择IP。Port10050。点击Add添加。

相关新闻

微服务设计模式实战:从服务拆分到熔断限流与Saga一致性

微服务设计模式实战:从服务拆分到熔断限流与Saga一致性

简介:《微服务设计模式大全详解》是一份面向后端开发、架构师及微服务初学者的系统讲解型PPT资源,重点解决服务拆分、通信集成、数据管理、故障隔离与可观测性等设计难题。资源共1个文件,为单个pptx演示文稿,压缩包大小约2.09MB&a…

2026/10/11 13:47:25 阅读更多 →
Claude Code本地部署接入DeepSeek:从Node环境到API配置全攻略

Claude Code本地部署接入DeepSeek:从Node环境到API配置全攻略

1. 部署前必须搞懂的三件事:Claude Code到底怎么玩先说结论:Claude Code就是Anthropic官方推出的命令行AI编程助手,它不是一个网页端工具,而是直接跑在你终端里的一个交互式编程Agent。它能读写你本地的文件、执行终端命令、搜索代…

2026/10/11 17:03:36 阅读更多 →
Seaborn统计图形实战:从Matplotlib过渡到高效数据可视化

Seaborn统计图形实战:从Matplotlib过渡到高效数据可视化

先说个真实经历。我早先用Python做数据分析,图全靠Matplotlib硬扛。功能确实强大,但每次画统计图形都像打仗:直方图要自己写核密度估计,散点图的颜色和图例要手动调半天,出的图还总带着一股"实验室临时输出"…

2026/10/11 17:52:03 阅读更多 →

最新新闻

REA 逆向分析快速上手:4 步跑通第一次本地应用分析

REA 逆向分析快速上手:4 步跑通第一次本地应用分析

REA 逆向分析快速上手:4 步跑通第一次本地应用分析 【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea 你在一个应用里看到想复刻的功能&am…

2026/10/12 4:26:39 阅读更多 →
C++多文件工程必备:CMake include机制与头文件组织实战

C++多文件工程必备:CMake include机制与头文件组织实战

写 C 工程,绕不开 CMake 的 include 机制和目录规范。尤其当你从单文件跌跌撞撞走向多文件工程时,头文件找不到、链接报错、循环依赖各种问题层出不穷。这篇第三课会从编译单元讲起,把 include 的底层逻辑、目录怎么分、CMake 怎么组织和避坑…

2026/10/12 4:26:39 阅读更多 →
地铁综合服务管理系统设计与实现:从业务拆解到答辩拿分要点

地铁综合服务管理系统设计与实现:从业务拆解到答辩拿分要点

地铁综合服务管理系统这个题,很多同学第一眼看到会觉得平淡:不就是维护地铁线路和站点,再塞几个增删改查页面吗?真动手做起来才发现,有的同学拿了优秀,有的同学连系统都跑不起来,差别不在代码量…

2026/10/12 4:26:39 阅读更多 →
零基础备考软考高项:三位一体与真题拆解全攻略

零基础备考软考高项:三位一体与真题拆解全攻略

前阵子一位做后端开发的同事问我:零基础考软考高项,到底有没有可能?他的背景很典型——平时写代码为主,没写过项目计划书,没画过网络图,连十大管理领域的名字都记不全。我反问他一句:你知道高项…

2026/10/12 4:26:39 阅读更多 →
Anthropic四种Loop设计方式拆解:用TaoToken统一Key跑通Claude Code循环工程

Anthropic四种Loop设计方式拆解:用TaoToken统一Key跑通Claude Code循环工程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 4:26:39 阅读更多 →
FreeRTOS CMSIS系列(9):中断管理详解

FreeRTOS CMSIS系列(9):中断管理详解

一、中断优先级任何中断的优先级都大于任务! 在我们的操作系统,中断同样是具有优先级的,并且我们也可以设置它的优先级,但是他的优先级并不是从0~15 ,默认情况下它是从 5~15 ,0~4 这 5 个中断优先级不是 Fr…

2026/10/12 4:25:38 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →