Prometheus 3.15.0 介绍与选型指南

Prometheus 3.15.0 软件定位、多维指标模型与核心组件、官方快速上手,以及与 VictoriaMetrics/InfluxDB/Thanos 的联网实查选型对比(2026-10-18)。

PrometheusPrometheus2026/10/18

Prometheus 3.15.0 介绍与选型指南

目标:说清 Prometheus 是什么、核心概念有哪些、版本与授权边界是什么,并给出可落地的选型判断。本篇为认知篇:全部内容基于官方文档、官方发布页与 GitHub 公开数据联网查证编写(查询日期 2026-10-18),不做本地安装实测;未能从官方来源直接核实的细节以【参考】标注。

一、信息基准

二、软件概述

2.1 定位与发展沿革

Prometheus 是一个开源的系统监控与告警套件:以"拉取(Pull)"方式定时从各目标暴露的 HTTP 指标端点抓取时间序列,用多维数据模型(指标名 + 标签键值对)存储在内建时序库中,通过内建查询语言 PromQL 完成检索、聚合与告警运算【官方文档,2026-10-18 实查】。

关键节点:2012 年由 SoundCloud 发起;2016 年加入 CNCF,现为 CNCF 毕业项目【参考:CNCF 项目页 https://www.cncf.io/projects/】;当前主线为 3.x,最新稳定版 3.15.0(2026-09-25 发布,GitHub releases/latest 重定向核验【实查 2026-10-18】)。

2.2 版本与生态

项内容来源
最新稳定版3.15.0(2026-09-25)GitHub releases/latest 重定向核验【实查 2026-10-18】
版本节奏每 6 周开启一个新的 minor 发布周期;minor 周期结束后一般不再接收修复;另设 LTS 版本,延长接收精选修复一年官方 release-cycle 页【实查 2026-10-18】
API 稳定性同一 major 版本内承诺 API 稳定,破坏性变更在发布说明中以 CHANGE 标注官方 stability 页【实查 2026-10-18】
许可Apache-2.0GitHub API【实查 2026-10-18】
社区热度GitHub 66610 stars,仓库最近推送 2026-10-17GitHub API【实查 2026-10-18】

三、核心架构

概念说明
指标(Metric)一条时间序列的名字与一组标签构成多维标识,如 node_cpu_seconds_total{cpu="0",mode="idle"}
Target / Job抓取目标与任务分组;job 与 instance 标签在抓取时自动附加
Exporter把第三方系统的内部状态翻译为 /metrics HTTP 端点的适配组件(官方与社区维护大量 exporter)
PromQL面向时间序列的查询语言,支持瞬时/区间向量、聚合、函数运算
TSDB内建时序数据库,本地落盘(默认 ./data,--storage.tsdb.path 可调)
Recording / Alerting Rules把常用表达式预聚合为新序列(record),或按条件触发告警(alert)
Alertmanager独立部署的告警组件,负责告警的去重、分组、静默与路由通知

架构特点【官方文档归纳,2026-10-18】:单二进制运行、拉取模型、采集与存储查询一体;通过联邦(federation)与远端读写(remote read/write)接口把数据外送长期存储或跨集群聚合。

四、功能特性

  • 多维数据模型与 PromQL:按标签切片聚合是核心工作方式,官方提供表达式浏览器与图形页(/graph)【官方 Getting Started,实查 2026-10-18】。
  • 拉取式采集与服务发现:scrape_configs 支持静态配置、DNS 及多种平台服务发现机制【参考:官方配置文档 https://prometheus.io/docs/prometheus/latest/configuration/configuration/ 】。
  • 规则引擎:recording rules 预计算常查询、alerting rules 产生告警并交由 Alertmanager 路由【官方 Getting Started,实查 2026-10-18】。
  • HTTP API 与自省:自身同样暴露 /metrics,支持平滑关闭(SIGTERM)与配置热加载(SIGHUP)【官方 Getting Started,实查 2026-10-18】。
  • 存储扩展点:remote read/write 接口对接长期存储方案(官方生态如 Thanos/Mimir 等)【参考:官方生态页】。
  • 配套生态:Alertmanager(告警管理)与 Node Exporter 等官方组件同属 prometheus 组织【GitHub 组织实查 2026-10-18】。

五、快速上手

以下为官方 Getting Started 的最小流程(命令与配置保持官方原文形态;来源:https://prometheus.io/docs/prometheus/latest/getting_started/ ,查询 2026-10-18):

1)下载并解压运行(官方页提供平台二进制下载入口 https://prometheus.io/download/ ):

tar xvfz prometheus-*.tar.gz
cd prometheus-*

2)将官方示例配置存为 prometheus.yml(让 Prometheus 抓取自身):

global:
  scrape_interval: 15s # By default, scrape targets every 15 seconds.
  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s

    static_configs:
      - targets: ['localhost:9090']

3)启动并访问(默认端口 9090,数据库默认存于 ./data):

# Start Prometheus.
# By default, Prometheus stores its database in ./data (flag --storage.tsdb.path).
./prometheus --config.file=prometheus.yml

浏览器访问 localhost:9090,在表达式浏览器执行 prometheus_target_interval_length_seconds{quantile="0.99"}、count(prometheus_target_interval_length_seconds) 等查询;目标健康可在 /targets 页查看。

4)录制规则示例(存为 prometheus.rules.yml,并在主配置加 rule_files):

groups:
- name: cpu-node
  rules:
  - record: job_instance_mode:node_cpu_seconds:avg_rate5m
    expr: avg by (job, instance, mode) (rate(node_cpu_seconds_total[5m]))

5)运维要点(官方原文):配置重载用 kill -s SIGHUP <PID>;平滑停止用 kill -s SIGTERM <PID> 或终端 ^C。

本专栏部署、配置与命令行的逐步实操见:《Ubuntu 24.04 安装 Prometheus 3.x》(https://www.quzuo.net/document/kwIQur3ECCbK)、《Prometheus 3.x 配置参数详解》(https://www.quzuo.net/document/ETf4IYlKnFJL)、《Prometheus 3.x 常用 CLI 命令与工具详解》(https://www.quzuo.net/document/qYA77mgZokMe)。

六、适用场景与限制

6.1 适用场景

  • 主机、服务、中间件的指标监控与阈值/表达式告警;
  • 多实例、多维标签的动态目标环境(配合服务发现);
  • 需要自建、数据落本地的可观测性底座,可对接长期存储与可视化组件。

6.2 限制与成本

  • 拉取模型的前提:Prometheus 必须能直接访问各目标的 /metrics 端点,网络隔离场景需引入网关/代理方案【参考】;
  • 单机本地存储:TSDB 为单节点存储,长期保存与跨实例聚合依赖 remote write / 联邦 / 官方生态项目【官方架构归纳】;
  • 只管指标:日志与链路追踪需另行选型(与 Loki、Tempo 等配套)【参考:Grafana 生态】;
  • 告警通知独立:告警的去重分组路由由 Alertmanager 独立承担,需一并部署运维【官方文档】。

七、同类选型对比

7.1 四个候选画像

  • Prometheus:监控告警一体的标准方案,CNCF 毕业项目,生态最厚(exporter、Alertmanager、可视化对接齐全)。
  • VictoriaMetrics:主打高性能与低资源占用的时序库,常被用作 Prometheus 的远端存储/替换方案【参考:项目定位】。
  • InfluxDB:通用时序数据库(3.x 开源线),偏数据平台场景,监控告警需配套组件【参考:项目定位】。
  • Thanos:为 Prometheus 提供全局视图与长期存储的配套项目,定位是扩展而非替代【参考:项目 README】。

7.2 对比总表(全部为 2026-10-18 联网实查)

维度PrometheusVictoriaMetricsInfluxDBThanos
GitHub Stars66610178783176814238
最新版本3.15.0(2026-09-25)v1.154.0(2026-10-12)v3.12.1(2026-10-15)v0.42.4(2026-07-30)
版本节奏minor 每 6 周,LTS 延长支持一年(官方声明)minor 发版密集(最近一次 2026-10-12,实查)发版频繁(最近一次 2026-10-15,实查)跟随 Prometheus 生态演进【参考】
许可Apache-2.0(实查)Apache-2.0(实查)Apache-2.0(实查)【参考】Apache-2.0
定位监控+告警+存储一体时序库(可作 Prometheus 远端/替代)通用时序数据库Prometheus 长期存储与全局视图
兼容矩阵拉取 /metrics、PromQL、major 内 API 稳定(官方承诺)兼容 Prometheus 查询与远端写入协议【参考】自有查询语言体系(InfluxQL/SQL)【参考】提供 Prometheus StoreAPI/查询网关【参考】
数据来源GitHub API / releases/latest 重定向,2026-10-18同左同左同左

7.3 选型建议

  • 以"采集 + 告警 + 生态"整体方案起步 → Prometheus,长期存储量大后再叠加 Thanos 类扩展;
  • 已有 Prometheus 但在意存储成本/高基数性能 → 评估 VictoriaMetrics;
  • 核心诉求是通用时序数据平台而非监控告警 → 看 InfluxDB;
  • 多套 Prometheus 需要全局查询与降采样长期保存 → 用 Thanos。

一句话总结:Prometheus 是指标监控的事实标准,先跑通"抓取—查询—告警"闭环,再按存储与规模需求决定是否引入长期存储扩展。

八、参考链接

💡 相关文档:《Grafana 13.2.4 介绍与选型指南》《Harbor 2.15.4 介绍与选型指南》