当前位置: 首页 > article >正文

一、Prometheus架构

Prometheus

云原生十二要素是一套最佳实践和规范,旨在帮助开发人员更好地构建云原生应用

这十二个要素分别是:

  • 单一职责
  • 独立部署
  • 无状态
  • 声明式API
  • 服务发现
  • 容错处理
  • 自适应算法
  • 自动化运维
  • 响应式编程
  • 通信协议
  • 服务注册与发现
  • 数据持久化

一、Prometheus 是什么

Prometheus 是一个开源的监控系统和时序数据库(TSDB),最初由 SoundCloud 开发,现在是 CNCF(Cloud Native Computing Foundation) 的托管项目之一,广泛用于云原生环境下的指标监控和告警。

Prometheus 主要用于收集、存储、查询和分析时间序列数据,特别适用于 Kubernetes 等动态环境。


二、Prometheus 的主要特性

  1. 多维度数据模型(Metric + Label)

    • Prometheus 使用 指标(Metric)和 标签(Label)组合的方式存储数据,允许用户灵活地进行筛选和聚合,例如:

      http_requests_total{method="GET", handler="/api"}
      

      这里http_requests_total是指标, methodhandler是标签。

  2. 强大的查询语言(PromQL)

    • PromQL(Prometheus Query Language)支持高效查询和数据聚合,例如:

      rate(http_requests_total[5m]) # 计算 5 分钟内的 QPS
      
  3. 拉模式(Pull-Based)数据采集

    • 应用程序暴漏Metrics接口,Prometheus通过基于HTTP的pull模型 采集数据,同时可以使用PushGateway进行Push数据。
    • Prometheus 主动拉取(Pull) 目标数据,而不是被动接收(Push)。
    • 通过 HTTP API 采集监控数据,数据格式是 text/plainprotobuf
  4. 内置时序数据库(TSDB)

    • 高效存储 监控数据,无需外部数据库。
    • 基于时间索引,支持高吞吐的数据写入和查询。
  5. 自动服务发现(Service Discovery)

    • 自动发现 Kubernetes、Consul、Etcd、ECS 等服务,不需要手动配置。
  6. 支持 Alertmanager 进行告警

    • 结合 Alertmanager 组件,实现多级告警通知(邮件、Slack、微信等)。
    • 支持告警分组、去重、抑制等高级功能。
  7. 数据存储持久化与远程存储

    • 默认存储在本地(TSDB),但可以通过远程存储(Remote Write/Read) 集成 Thanos、VictoriaMetrics 等长期存储方案。
  8. 支持多种 Exporter 和集成生态

    • 提供丰富的Exporter 采集各种数据(如 Node Exporter、MySQL Exporter、Blackbox Exporter)。
    • 与 Kubernetes、Grafana、Loki、Thanos、Jaeger 等工具无缝集成。
  9. 支持多种图形和仪表盘,和Grafana堪称绝配



三、Prometheus 适用场景

  • 云原生环境监控(Kubernetes、Docker)
  • 服务器和应用程序监控(CPU、内存、网络、磁盘、数据库)
  • 业务指标监控(请求量、错误率、延迟)
  • 告警通知(结合 Alertmanager)

Prometheus 适用于云原生环境各种分布式系统的监控,主要用于指标收集、实时分析、告警等场景。以下是几个主要的应用场景:


1


http://www.kler.cn/a/571142.html

相关文章:

  • ArcGIS操作:10 投影坐标系转地理坐标系
  • 2025嵌入式软件开发工程师--音频方向
  • Kolla-Ansible deploy部署报错 KeyError: \\‘KernelMemory
  • 深度学习pytorch之简单方法自定义9种卷积即插即用
  • mpstat 和 blktrace 深入介绍
  • 一阶逻辑篇--一门数学编程语言
  • 前端面试场景题葵花宝典之四
  • 【TCP/IP协议栈】3. 网络层协议(IP、ARP、RARP、ICMP)
  • 使用docker来安装nacos
  • 金融项目实战
  • LINUX网络基础 - 初识网络,理解网络协议
  • 电子电气架构 --- Zonal-EEA的技术特点
  • 数据结构与算法:选择排序
  • 51单片机使用DS18B20温度传感器
  • 【C++】2.2.1 变量定义
  • 如何用 DeepSeek 和 ChatGPT 打造智能搜索与问答体验
  • 前端抓包工具的使用
  • IP------交换
  • 计算机网络——IP地址
  • RTB业务分析