Prometheus 是一个开源的监控和报警系统,采用 Pull 模式采集数据。核心组件包括:
- Prometheus Server:负责采集和存储时间序列数据
- Targets:被监控的目标,通过 HTTP 暴露指标
- Exporters:将第三方系统指标转换为 Prometheus 格式
- Alertmanager:处理告警并通知
- Pushgateway:用于短期任务推送指标
工作原理:
- Prometheus 定期从 targets 拉取指标数据
- 数据以时间序列形式存储在本地 TSDB
- 支持通过 PromQL 进行灵活的查询和聚合
- 可视化通常配合 Grafana 使用
关键特性:
- 多维数据模型
- 灵活的查询语言 PromQL
- 不依赖分布式存储
- 服务发现机制
- 支持多种告警方式