监控工具怎么选:Zabbix、Prometheus 五种方案的取舍与部署成本

2026-10-05 19:46 1004 次浏览

服务器上到二十台以后,靠人登机器看 top 和 df 就开始出事了。磁盘写满没人知道,进程半夜挂了早上才发现,用户比你先知道服务不可用。这时候就该上监控了。可选的东西不少,Zabbix、Prometheus、Nagios、Grafana 加 exporter、Netdata 各有各的脾气,装错了不是不能用,是越用越别扭:告警天天响没人看,历史数据查不动,加一台机器要改三个配置文件。下面按我自己的取舍顺序把这几种讲清楚,顺带说说监控机本身该租什么样的服务器。

先分清两件事:你是盯机器还是盯服务

监控工具大致分两派。一派以主机为单位,看的是 CPU、内存、磁盘、网卡、进程在不在,Zabbix 和 Nagios 属于这类。另一派以指标为单位,看的是请求量、延迟、队列长度这类随时间变化的数值,Prometheus 是代表。

分不清这个,选型就会拧巴。你要是只有十几台物理机,跑的是 LNMP 和几个自建服务,Zabbix 一个包搞定,装完就有图有告警。你要是业务拆成了几十个容器,实例随时起随时停,那主机清单这种思路根本跟不上,Prometheus 的服务发现才省事。

我一般先问一句:被监控的对象会不会频繁换 IP。答案是会,就别在 Zabbix 上折腾了。

Zabbix 和 Prometheus,成本差在哪

Zabbix 6.0 的 server 端一台 2 核 4G 的机器能带一百来台主机,MySQL 或 PostgreSQL 存历史数据,默认保留周期调短一点,磁盘占用不算夸张。它的好处是开箱即用,Web 界面点几下就能加主机、配触发器、发邮件。缺点是模板写起来啰嗦,自定义监控项要动 agent 配置,容器环境下每次扩缩容都得同步主机列表。

Prometheus 反过来。抓取配置就几行,配好 target 自动拉数据,配合 Grafana 出图很顺。代价在存储:本地 TSDB 按每秒抓一次、保留 30 天估算,中等规模下 200GB 起步是常态,机器内存给到 8G 比较稳。它是拉模型,被监控端要暴露 /metrics 接口,老系统没有这个接口就得自己写 exporter。

两者不是二选一的关系。我见过不少环境是 Zabbix 管物理机和网络设备,Prometheus 管业务指标,各管一摊,互不干扰。真要只留一个,看你的主力负载形态。

监控机本身别和业务挤在一台上。业务高峰把 CPU 吃满,监控数据就断点,告警也跟着哑。这类长期低负载但要求稳定的机器,租一台独立物理服务器比开云主机划算,配置不用高,磁盘要够。秀米云的美国洛杉矶高防服务器11是 E5 2620 配 32G 内存、100M 带宽,月付 $239.00,拿来跑 Zabbix 加 Grafana 这种组合,容量上留得很宽松。

Nagios、Netdata 和 Grafana 各站什么位置

Nagios 是老牌选手,插件生态厚,很多机房和 IDC 还在用它做基础存活检测。它的问题是配置全靠文本文件,加一台机器要写 host 和 service 两段,规模一大维护成本陡增。新项目我不太建议再上 Nagios,除非团队已经有一套跑顺的配置不想动。

  • Nagios:适合几十台以内、以存活和端口检测为主的场景,插件多但配置繁琐。
  • Netdata:单机部署最省事,装完秒出实时图,秒级精度。适合排查单台机器的性能问题,不适合做跨机房集中告警,长期存储也偏弱。
  • Grafana:本身不采集数据,只负责展示和告警。它几乎是 Prometheus 的标配前端,也能接 Zabbix 数据源。

Netdata 我常拿来当临时排查工具用,一台机器上装完就能看,不用规划存储。但它不适合当主力监控系统,几百台机器的数据汇总到一处,资源消耗和查询体验都会变差。

如果你的被监控对象分布在不同地区,采集端和存储端之间的链路延迟会直接影响告警及时性。秀米云的美国硅谷大带宽服务器 XIX是 E5-2683v4 双路、64G 内存、G 口带宽,月付 $628.50,适合把 Prometheus 和 Grafana 放在一台机器上,G 口对多机房拉取指标比较从容。

部署监控系统,机器怎么配才不返工

监控系统对 CPU 要求不高,瓶颈基本都在磁盘和内存。时序数据库写多读少,机械盘能跑但查询会慢,SSD 体验差别明显。

几个我踩过的坑,说给你听:

  • 数据保留期别一上来就设一年。先留 15 到 30 天,跑一个月看实际增长量再调,不然后面迁移数据很痛苦。
  • 告警阈值不要照抄模板。模板给的 CPU 90% 阈值在业务机上天天触发,按自己的基线调,否则告警很快被忽略。
  • 监控机要有独立磁盘。和业务共用一块盘,业务写满磁盘的时候监控一起挂,等于白装。

规模上到几百台主机、指标量到百万级,单机就顶不住了,要考虑 Prometheus 联邦或者远端存储。到这个阶段,机器配置里内存比 CPU 更值得加钱,64G 起步比较稳。秀米云的硅谷裸机云 XVI是 AMD EPYC 7742 双路 64 核、256G 内存、100M 带宽,月付 $969.00,适合承载指标量较大的集中式监控和日志汇总。

总结下来一句话:物理机为主、需要开箱告警,选 Zabbix,2 核 4G 就能起步;容器化、指标维度多,选 Prometheus 加 Grafana,存储按 200GB 起估;只是临时看单机状态,Netdata 装上就用,别当主力。监控机单独租一台,别和业务混部,这钱省不得。