Prometheus 监控入门指南

Prometheus 是云原生监控的事实标准。本文讲清它的拉取模型、指标格式、四种指标类型、服务发现、PromQL 与告警链路,以及它擅长和不擅长的场景。

最佳实践
Prometheus 监控入门指南技术指南封面

Prometheus 是云原生时代监控系统的事实标准:开源、CNCF 毕业项目、K8s 生态原生支持。无论你是要搭建自研监控,还是理解现代可观测性体系的设计思想,Prometheus 都是必修课。

核心工作模型:拉取(Pull)

Prometheus 的工作方式是定期抓取:被监控的目标(应用、exporter)通过 HTTP 暴露一个 /metrics 端点,Prometheus 按配置周期(如 15s)去拉取。

/metrics 端点暴露的是人类可读的文本格式:

# HELP http_requests_total Total number of HTTP requests made.
# TYPE http_requests_total counter
http_requests_total{method="GET", status="200"} 1027
http_requests_total{method="POST", status="500"} 3

每条指标 = 名称 + 标签集(labels)+ 数值 + 时间戳。标签是多维度的关键——同一个 http_requests_total,按 method、status 等标签切分出不同的时间序列。

拉取 vs 推送

拉取模型的好处:Prometheus 知道目标"应该"在哪,拉不到就知道目标可能挂了(up==0);目标侧无状态,重启不影响采集。对短命任务(批处理 Job、Serverless 函数)则通过 Pushgateway 中转——任务把指标推给网关,Prometheus 再来拉。

四种指标类型

类型 语义 典型用途
Counter 只增不减的计数器 请求总数、错误总数
Gauge 可升可降的瞬时值 内存占用、队列长度、温度
Histogram 分桶统计分布 请求延迟分布(算 P99)
Summary 客户端算分位数 延迟分位(不能聚合,谨慎用)

组件生态

  • Exporters:给不原生支持 Prometheus 的系统做适配——Node Exporter(主机)、MySQL Exporter、Blackbox Exporter(探测)等数百种;
  • 服务发现:K8s、Consul、云厂商 API……目标动态出现/消失时自动更新抓取列表,这是 Prometheus 适应容器环境的关键;
  • PromQL:强大的时序查询语言,聚合、速率、分位数计算都靠它;
  • Alertmanager:告警分组、去重、路由、静默——Prometheus 评估规则产生告警,Alertmanager 负责怎么送达;
  • Grafana:可视化的事实标准搭档。

Prometheus 擅长什么

  • 云原生基础设施监控:K8s、容器、微服务的指标采集与告警,生态无敌;
  • 动态环境:服务发现让实例伸缩不需要人工维护监控配置;
  • 独立可靠:单体部署、本地存储,别的系统全挂了它还能抓数据——排障时这很关键。

Prometheus 不擅长什么

  • 精确计数以外的用途:它是"采样式"的,不适合财务级精确审计、逐条计费;
  • 长期存储:本地 TSDB 默认保留 15 天,长期留存需要 remote write 到 Thanos/Mimir 等远端存储,架构复杂度上来了;
  • 日志与链路:它只管指标,日志和 Trace 要别的系统;
  • 水平扩展与高可用:原生不支持集群,需要 Thanos/Cortex/Mimir 等方案补齐。

观测云对照

如果 Prometheus 的这些短板正是你的痛点,观测云提供了另一条路:DataKit 直接兼容 Prometheus 生态——可以抓取 exporter 的指标、接收 remote write 数据,指标与日志、Trace 统一存储统一查询;存储保留期按策略配置,不用自建 Thanos;告警、仪表盘开箱即用。现有 Prometheus 资产(exporter、规则)可以平滑迁移,不需要推倒重来。

常见问题(FAQ)

Q:Prometheus 和 Zabbix 怎么选?
A:云原生/容器/K8s 场景选 Prometheus(生态碾压);传统主机+网络设备监控、偏运维文化的团队,Zabbix 仍然顺手。两者也可以通过 exporter 共存。

Q:Prometheus 能监控 Windows 吗?
A:能,用 Windows Exporter(原 wmi_exporter)。指标丰富度不如 Node Exporter,但核心指标齐全。

Q:单机 Prometheus 能扛多大规模?
A:经验值:单机每秒百万级样本摄入是可行的,瓶颈通常在标签基数(时间序列总数)而非样本量。控制在百万级活跃序列以内,单机很稳。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台