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 界面展示监控数据

🛠️ 安装与配置

  1. 下载二进制文件
    点击此处获取 Prometheus 安装指南
  2. 配置 scrape 间隔
    prometheus.yml 中设置 scrape_interval: 15s
  3. 启动服务
    执行 ./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

📚 扩展阅读

Prometheus Logo