Prometheus 承诺在主版本内保持 API 稳定性,并努力避免关键功能的破坏性变更。一些外观性的、仍在开发中的或依赖第三方服务的功能不在此保证范围内。
在 3.x 中被视为稳定的内容:
- 查询语言和数据模型
- 告警和记录规则
- 采集暴露格式
- v1 HTTP API(用于仪表盘和 UI),不包括明确标记为实验性的端点
- 配置文件格式(不包括服务发现远程读写,见下文)
- 规则/告警文件格式
- 控制台模板语法和语义
- Remote write 发送,遵循 1.0 规范 和接收
- Agent 模式
- OTLP 接收端点
在 3.x 中被视为不稳定的内容:
- 任何列为实验性或可能变更的功能,包括:
double_exponential_smoothingPromQL 函数- Remote read 和 remote read 端点
- 服务端 HTTPS 和基本认证
- 服务发现集成,
static_configs、file_sd_configs和http_sd_config除外 - 作为服务器一部分的包的 Go API
- Web UI 生成的 HTML
- Prometheus 自身 /metrics 端点中的指标
- 精确的磁盘格式。潜在的更改将保持前向兼容,并由 Prometheus 透明处理
- 日志格式
Prometheus 2.x 的稳定性保证可以在 2.x 文档中找到。
只要你没有使用任何标记为实验性/不稳定的功能,主版本内的升级通常可以在不进行任何运维调整的情况下执行,且几乎不会出现任何问题。任何破坏性变更将在发布说明中标记为 CHANGE。