Prometheus 是一个开源的监控系统,广泛用于时间序列数据采集与可视化。以下是关于其核心功能和使用场景的简要介绍:
🧩 什么是 Prometheus?
Prometheus 由 SoundCloud 开发,现已成为 CNCF(云原生计算基金会)的毕业项目。它通过拉取(pull)方式收集指标数据,支持灵活的查询语言(PromQL)和多维数据模型。
- 数据模型:时间序列由
metric name
+label
组成,例如http_requests_total{method="POST"}
- 查询语言:PromQL 支持聚合、过滤、子查询等操作,如
avg by (job) (http_requests_total)
- 可视化:集成 Grafana 或 Prometheus 自带的 Web 界面展示监控数据
🛠️ 安装与配置
- 下载二进制文件
点击此处获取 Prometheus 安装指南 - 配置 scrape 间隔
在prometheus.yml
中设置scrape_interval: 15s
- 启动服务
执行./prometheus --config.file=prometheus.yml
📈 监控示例
- 服务器资源
监控 CPU 使用率:node_cpu_seconds_total{mode="idle"}
- 应用指标
跟踪 HTTP 请求延迟:http_request_latency_seconds
- 告警规则
定义groups
来管理告警策略,例如:groups: - name: "example" rules: - alert: HighLatency expression: job:request_latency_seconds:rate5m() > 0.5
🌐 与其他工具集成
- Grafana:通过 Grafana 配置页面 可视化 Prometheus 数据
- Kubernetes:使用 K8s 监控指南 部署监控服务
- Alertmanager:配置告警通知渠道,如邮件或 Slack