AX 爱鲜报

Prometheus 监控系统

Prometheus 是 CNCF 旗下的开源系统与服务监控系统及时间序列数据库,通过拉取模式采集指标,配合 PromQL 查询语言、告警规则与多种可视化方式,是云原生可观测性的事实标准。

过去 7 天收获 2 颗 Star

爱鲜报评分

0.0

0 人评分

开源 · Apache-2.0 #Go #时间序列 #监控 #DevOps #CNCF #PromQL

67k

星数

否

中文

Go

主语言

是

活跃

1521

贡献者

人工分析

EDITORIAL

推荐理由

作为云原生监控的事实标准,Prometheus 拥有极高的社区活跃度与生态兼容性,几乎所有主流中间件、数据库和框架都原生暴露其指标格式。多维数据模型与 PromQL 让指标查询和告警配置非常灵活,单机自治、无需依赖分布式存储,部署成本低。无论是自建机房还是 Kubernetes 集群,它都是构建可观测体系的首选起点。

适用场景

  • Kubernetes 与云原生集群监控
  • 微服务与业务指标采集告警
  • 主机、中间件、数据库性能监控
  • 自定义指标与 PromQL 数据分析
  • 作为 Grafana 等可视化平台的数据源

优点

  • CNCF 毕业项目,社区与生态极其成熟
  • 多维数据模型配合 PromQL,查询分析能力强
  • 单机自治,无需依赖分布式存储,部署简单
  • HTTP 拉取模型与丰富的服务发现机制
  • 告警规则、联邦、远程写入等能力完善

缺点

  • 默认本地存储,长期海量数据需配合远程存储
  • 拉取模型对短生命周期批处理任务需借助 Pushgateway
  • PromQL 与告警规则有一定学习曲线
  • 官方仓库定位为独立程序,不建议直接当 Go 库使用
上手难度 进阶

项目简介

Prometheus 是 CNCF 旗下的开源监控系统与时间序列数据库,用于采集系统和服务的指标、评估规则表达式、展示结果,并在满足条件时触发告警。它是云原生可观测性体系的事实标准,几乎所有主流中间件、数据库与框架都原生暴露 Prometheus 指标格式。

核心特性

  • 多维数据模型:时间序列由指标名和一组键值维度定义,便于灵活聚合与切片。
  • PromQL 查询语言:强大且灵活的查询语言,充分利用多维特性做分析与告警。
  • 单机自治:不依赖分布式存储,单个服务节点即可独立运行。
  • HTTP 拉取模型:按配置周期主动拉取目标指标;批处理任务可通过中间网关推送。
  • 服务发现:支持静态配置与多种服务发现机制自动发现目标。
  • 可视化与告警:内置表达式浏览器与基础图表,可对接 Grafana 等面板,并支持告警规则。
  • 联邦能力:支持分层与水平联邦,扩展采集规模。

快速上手

官方推荐使用发布版预编译二进制,也可通过 Docker 快速体验:

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

启动后访问 http://localhost:9090/ 即可打开 Web 界面。

从源码构建

需要 Go(版本见 go.mod)、NodeJS 与 npm 10+:

git clone https://github.com/prometheus/prometheus.git
cd prometheus
make build
./prometheus --config.file=your_config.yml

make build 会把前端静态资源一并编译进二进制,便于在任意目录运行;直接 go install 则需在仓库根目录运行以读取 web/ui/static 资源。

架构与生态

Prometheus 采用拉取式采集,配合服务发现、规则评估、告警与存储等组件协同工作。它与 Kubernetes、Grafana、Alertmanager、各类 Exporter 共同构成完整的监控告警链路。

注意:prometheus/prometheus 仓库定位为独立可执行程序,官方并不保证其作为 Go 库使用时的稳定性;如需在代码中埋点,建议使用 prometheus/client_golang 等专用库。

适用建议

Prometheus 适合作为可观测体系的指标层核心,长期海量数据可结合远程存储方案;对于短生命周期任务,可借助 Pushgateway 补充推送能力。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。