ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Zabbix与Prometheus监控实战:从选型到部署告警全流程

Zabbix与Prometheus监控实战:从选型到部署告警全流程 Zabbix 和 Prometheus 是运维监控里绕不开的两套方案。很多新手纠结的第一个问题就是“到底学哪个”实际工作里更常见的答案是两个都可能出现在你面前。Zabbix 擅长管主机、网络设备和传统架构Prometheus 擅长管容器、Kubernetes 和微服务指标。下面不聊空概念直接按落地顺序讲先搞清选型再把 Zabbix 的安装、加主机、告警流程完整走一遍接着用 Prometheus Grafana 把指标采集和可视化跑通最后补上 Kubernetes 监控和实战排查经验。标题里虽然写了“2026最新版”但版本细节会一直变真正的核心思路反而很稳定。你只要把两套系统的采集、存储、告警、可视化和排错链路理解清楚换版本也只是命令和界面的差别。动手之前建议准备一台能装 Linux 的虚拟机或云主机内存 4G 左右磁盘 40G 以上网络能访问官方源。测试环境不需要太高配置但太低会在安装阶段就消耗大量精力。1. 先别急着装环境把 Zabbix 和 Prometheus 的定位差异搞清楚1.1 两套系统不是替代关系而是场景不同Zabbix 是典型的传统监控系统。它以“主机”和“设备”为管理核心通过 Agent、SNMP、SSH、IPMI 等方式采集数据非常适合机房里的服务器、交换机、路由器、UPS 电源这类基础设施。它的强项是模板化管理一台新机器加入关联一个模板CPU、内存、磁盘、网络这些基础监控项就自动出来了。告警规则、通知渠道、报表功能也相对完善老一代运维团队用得很熟。Prometheus 是云原生时代的监控标准。它以“指标”为中心核心思路是 Pull 模式Prometheus Server 定期去各个 exporter 拉取指标数据。只要目标地址返回标准的 metrics 文本就能接入。配合 Kubernetes 的服务发现机制Prometheus 可以自动发现新 Pod不需要手动加主机。Grafana 通常和它搭配做可视化。这里容易有一个误解觉得 Prometheus 一出Zabbix 就过时了。实际上传统物理机和网络设备的监控Zabbix 依然很常用而容器和微服务场景Prometheus 几乎是标配。中型企业的常见状态是两套并存Zabbix 管底座基础设施Prometheus 管容器和应用层指标。1.2 选型时可以按这几个条件判断我列一个简单判断清单每次新项目落地时先对着它过一遍如果监控对象是几十台服务器、交换机、UPS团队习惯用界面操作和现成模板优先选 Zabbix。如果监控对象是 Kubernetes 集群、Spring Boot 应用、微服务调用链上的指标优先选 Prometheus。如果既要管传统设备又要接云原生指标可以两套并行。如果团队已经重度使用 GrafanaPrometheus 的展示端会更顺手。如果预算和人手都有限先别两套同时铺开挑一个核心场景跑稳定再说。还有一点经常被忽略Zabbix 的“告警驱动”特征很强阈值、动作、通知链路设计得比较完整。Prometheus 则更偏向“查询和展示”数据模型灵活但成熟的告警路由需要额外配 Alertmanager。新手入门时不要指望今天晚上装完明天就能把所有告警调得完美这个周期通常要一两周。1.3 最常见的两种部署组合第一种Zabbix Server Zabbix Agent 钉钉或企业微信告警。适合中小型公司主机数量几百台以内主要监控 Linux、Windows 服务器和网络设备。运维团队可以在 Web 界面里完成绝大多数操作学习成本集中在数据库维护和模板使用上。第二种Prometheus node-exporter Grafana Alertmanager。适合已经容器化、特别是用了 Kubernetes 的团队。指标的存储和查询统一走 PromQL展示走 Grafana告警走 Alertmanager。这种组合上手时有三个门槛理解 Pull 模式、掌握少数常用 PromQL、搞清楚告警路由配置。两种组合并不是互斥的。我见过不少团队先用 Zabbix 盯全机房设备存活和基础资源再用 Prometheus 深挖应用层指标最后把两套系统的告警都接到同一个工作群。这样既保留了传统监控的成熟模板也拿到了云原生监控的动态发现能力。2. 环境准备与安装先把最小可用环境跑起来2.1 硬件、系统和网络要求Zabbix Server 由 Server 进程、数据库、Web 前端、Agent 几部分组成数据库性能很大程度决定监控平台的上限。我测试时用 2C4G 能跑起来但只适合学习如果要做告警和批量采集生产建议至少 4C8G数据库有条件就单独放一台。Prometheus 本身是单二进制文件内存主要看指标数量和保留周期。测试环境 1C2G 都能跑但一旦接了很多 exporter 或 k8s 集群规模变大4C8G 起步更稳。Grafana 可以和 Prometheus 共用一台。操作系统方面Zabbix 官方对主流 Linux 发行版都有安装源Debian/Ubuntu 和 Rocky/AlmaLinux/CentOS 系都行。Prometheus 直接提供 tar.gz 二进制包基本不挑系统。有一点要提醒不要直接复制两三年前教程里的安装命令先把官方文档的当前仓库地址和版本确认一遍。很多安装失败并不是操作问题而是源地址过期、版本对不上、依赖库变了。网络方面需要提前规划几个端口。Zabbix 默认用 10051 接收数据、10050 给 Agent 连接Web 前端走 80 或 443。Prometheus 默认 9090node-exporter 是 9100Grafana 是 3000。在开始安装前先在本机和防火墙里确认这些端口能够访问。注意不光是外部防火墙云服务器的安全组也要放行否则会出现“服务明明起来了浏览器却打不开”的怪问题。2.2 Zabbix Server 安装流程按官方源走安装 Zabbix 最稳的方式是用官方软件源。大体流程是添加 Zabbix 官方仓库包。安装 zabbix-server-mysql、zabbix-web、zabbix-agent2 等组件。创建 MySQL/MariaDB 数据库和专用账号。导入初始数据库 schema。修改 zabbix_server.conf 里的数据库连接信息。启动 Zabbix Server、Web 相关服务并设置开机自启。用浏览器打开 Web 前端按向导完成初始化。具体命令会因发行版和版本而不同这里不写死某一段命令。你只需要抓住几个关键判断点数据库编码要保证 UTF-8否则前端安装时会提示字符集问题。PHP 时区要配置正确特别是 Debian/Ubuntu 系时区不对会导致前端一直停在检查阶段。防火墙要放行 10051 和 Web 端口。如果服务器开启了 SELinux需要放行 Zabbix 相关端口或进程否则会出现外部访问不到、日志里却没有明显错误的情况。这些点我实测踩过处理最频繁的就是数据库字符集和防火墙。尤其是云主机装上之后先在宿主机上 curl 一下 Web 页面能返回内容再继续往下走。2.3 Prometheus 和 Grafana 安装流程Prometheus 安装相对简单因为它是编译好的单二进制到官方网站下载对应平台、对应版本的 tar.gz 包。解压后目录里有 prometheus.yml 和 prometheus 可执行文件。先不改配置直接用./prometheus --config.fileprometheus.yml启动看看。默认监听 9090 端口浏览器打开http://ip:9090看到查询界面说明启动成功。再回来修改 prometheus.yml 里的 scrape_configs添加要采集的 job。Grafana 安装也简单官方提供 APT/YUM 仓库装完启动后默认 3000 端口默认账号 admin/admin首次登录要求改密码。然后在 Configuration - Data Sources 里添加 Prometheus 数据源地址填http://ip:9090点击 Save Test能看到“Data source is working”就通了。到这里Zabbix 和 Prometheus 两套最小可用环境就已经搭起来了。第一次测试的目标只有一个界面能打开数据源能连通。不要急着导入一堆模板或设置复杂告警先把干净环境的基础链路验证完。3. Zabbix 核心操作加主机、配监控项、出告警
返回列表