一线运维实战手记 · 云计算 · 数据库 · 故障排查
Open Source Tool

Prometheus:云原生监控与告警

Prometheus 是 CNCF 旗下的开源监控与告警系统,以「拉取式采集 + 时序数据库 + PromQL 查询语言」为核心,已成为云原生环境监控的事实标准。

核心优点

  • 拉取式采集模型:主动从目标抓取指标,天然适合动态变化的容器环境。
  • 多维数据模型:指标带任意标签(label),可任意维度聚合分析。
  • 强大的 PromQL:一条查询即可完成趋势、速率、分位数等复杂计算。
  • 服务发现:原生支持 Kubernetes、Consul、DNS、文件等自动发现采集目标。
  • 告警体系:与 Alertmanager 配合实现分组、抑制、路由与多种通知渠道。

快速上手

# Docker 单机启动(挂载配置与数据目录)
docker run -d --name prometheus -p 9090:9090 
  -v /data/prometheus:/prometheus 
  prom/prometheus

# 配置文件 prometheus.yml 最小示例
scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

常用 PromQL 示例

# CPU 使用率
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
# 内存使用率
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100
# 磁盘剩余不足 20% 时告警
node_filesystem_avail_bytes / node_filesystem_size_bytes < 0.2

适用场景

Kubernetes 集群监控、云原生应用可观测性、基于指标的容量规划与告警。配合 node_exporter 可监控所有 Linux 主机。

下载地址