news 2026/4/16 15:17:38

Prometheus介绍(开源系统监控与告警工具)(时间序列数据库TSDB、标签化label-based多维分析、Pull模型、PromQL查询语言)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Prometheus介绍(开源系统监控与告警工具)(时间序列数据库TSDB、标签化label-based多维分析、Pull模型、PromQL查询语言)

文章目录

  • Prometheus 监控系统详解
    • 一、Prometheus 是什么?
    • 二、核心架构
      • 1. Prometheus Server
      • 2. Exporter
      • 3. Alertmanager
    • 三、数据模型(核心理解)
    • 四、数据采集方式(Pull 模型)
    • 五、PromQL 查询语言
      • 常见示例:
        • 1. 查询当前值
        • 2. 计算速率(QPS)
        • 3. 按标签聚合
        • 4. 告警条件
    • 六、告警机制
    • 七、与 Kubernetes 的集成
      • 常见方式:
    • 八、优点与局限
      • 优点
      • 局限
    • 九、典型使用场景
    • 十、总结

Prometheus 监控系统详解

在现代云原生架构中,监控已经成为保障系统稳定性和可观测性的核心能力。而在众多监控方案中,Prometheus 凭借其简单、强大和与 Kubernetes 的天然集成,成为事实上的标准。

本文将从原理、架构、核心概念以及实践应用等方面,全面介绍 Prometheus。


一、Prometheus 是什么?

Prometheus 是一个开源的系统监控与告警工具,最初由 SoundCloud 开发,现已成为 Cloud Native Computing Foundation(CNCF)毕业项目。

它主要特点包括:

  • 多维度数据模型(时间序列)
  • 强大的查询语言(PromQL)
  • 拉模型(Pull-based)采集
  • 内置告警机制
  • 与云原生生态高度兼容

二、核心架构

Prometheus 的整体架构如下:

+-------------------+ | Alertmanager | +-------------------+ ^ | +-------------------+ | Prometheus | +-------------------+ ^ ^ ^ | | | Exporter Service Exporter

1. Prometheus Server

负责核心功能:

  • 抓取(scrape)指标数据
  • 存储时间序列数据
  • 执行查询(PromQL)
  • 触发告警规则

2. Exporter

用于将不同系统的数据转换为 Prometheus 可识别的格式,例如:

  • Node Exporter(主机监控)
  • MySQL Exporter(数据库监控)
  • Blackbox Exporter(网络探测)

3. Alertmanager

Prometheus 的告警组件,用于:

  • 告警去重
  • 分组
  • 路由
  • 通知(邮件、Slack、Webhook 等)

三、数据模型(核心理解)

Prometheus 的核心是时间序列数据库(TSDB)

每条数据由:

metric_name{label1="value1", label2="value2"} value timestamp

示例:

http_requests_total{method="GET", status="200"} 1027

说明:

  • metric_name:指标名称
  • label:标签(维度)
  • value:值
  • timestamp:时间戳

👉 Prometheus 最大优势:标签化(label-based)多维分析


四、数据采集方式(Pull 模型)

Prometheus 使用 HTTP 定期抓取数据:

GET http://target:port/metrics

优点:

  • 简单
  • 易于控制采集频率
  • 目标服务无需主动推送

对比 Push 模型:

模型特点
Pull(Prometheus)控制权在监控端
Push(传统监控)控制权在客户端

五、PromQL 查询语言

PromQL 是 Prometheus 的核心能力之一。

常见示例:

1. 查询当前值
http_requests_total
2. 计算速率(QPS)
rate(http_requests_total[5m])
3. 按标签聚合
sum by (status) (rate(http_requests_total[5m]))
4. 告警条件
rate(errors_total[5m]) > 0.05

👉 PromQL 的本质:对时间序列进行函数计算和聚合


六、告警机制

Prometheus 支持基于规则的告警:

groups:-name:examplerules:-alert:HighErrorRateexpr:rate(errors_total[5m])>0.05for:2m

告警流程:

  1. Prometheus 检测规则
  2. 触发告警
  3. 发送到 Alertmanager
  4. Alertmanager 通知用户

七、与 Kubernetes 的集成

Prometheus 与 Kubernetes 集成非常紧密:

常见方式:

  • ServiceMonitor(通过 Operator)
  • Pod 自动发现
  • kube-state-metrics
  • cAdvisor(容器指标)

👉 在 K8s 中,Prometheus 通常通过:

  • Prometheus Operator
  • Helm Chart

来部署


八、优点与局限

优点

  • 简单易用
  • 强大的查询能力
  • 云原生生态标准
  • 可扩展(Thanos、Cortex)

局限

  • 不适合长期存储(需扩展)
  • 单机性能有限
  • 高基数(High Cardinality)问题

九、典型使用场景

  • 应用性能监控(APM)
  • 系统资源监控(CPU / 内存)
  • Kubernetes 集群监控
  • 微服务调用链指标
  • SLA / SLO 指标统计

十、总结

Prometheus 是云原生时代最重要的监控系统之一,它通过:

  • 时间序列数据模型
  • 灵活的 PromQL
  • Pull 模式采集
  • 强大的生态系统

构建了完整的可观测性基础。

如果你在使用 Kubernetes 或构建微服务架构,Prometheus 几乎是必备组件。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:16:46

业务流程不透明,管理无法做到精细化怎么办?——2026企业级智能体(Agent)全景选型与落地路径解析

进入2026年,数字化转型已从“选修课”变为企业的“生存底座”。然而,即便在AI大模型深度普及的今天,许多组织依然面临一个核心痛点:业务流程不透明,管理无法做到精细化怎么办? 从政府公共服务的“办事难”到…

作者头像 李华
网站建设 2026/4/16 15:15:40

躬耕政务信息化20载:从C/S到自研轻量框架,老开发者的实战避坑指南

躬耕政务信息化20载:从C/S到自研轻量框架,老开发者的实战避坑指南 作为一名深耕政务信息化领域20余年的老开发者,从2001年入行至今,完整见证了行业从C/S架构萌芽到B/S架构普及、从无框架裸写到底层框架自研的全迭代过程。期间踩过…

作者头像 李华
网站建设 2026/4/16 15:15:15

手把手教你用STM32F103RCT6打造多功能开发板(含摇杆和蓝牙模块)

从零构建STM32F103RCT6多功能开发板:摇杆控制与蓝牙通信实战指南 在创客社区和嵌入式开发领域,能够自主设计并实现一款功能完备的开发板是技术能力的重要体现。STM32F103RCT6作为STMicroelectronics旗下经典的Cortex-M3内核微控制器,以其丰富…

作者头像 李华
网站建设 2026/4/16 15:14:25

基于事件驱动的LCU API自动化框架:英雄联盟客户端增强方案

基于事件驱动的LCU API自动化框架:英雄联盟客户端增强方案 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 当英雄联盟玩家面对重复…

作者头像 李华
网站建设 2026/4/16 15:12:45

城通网盘下载提速神器:5分钟学会免费直连解析技巧

城通网盘下载提速神器:5分钟学会免费直连解析技巧 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘缓慢的下载速度烦恼吗?每天下载文件都要经历漫长的等待&#xf…

作者头像 李华