【监控指标】Prometheus

参考:

SpringBoot + Prometheus:打造高效监控系统-CSDN博客

Prometheus自定义监控内容_io.micrometer-CSDN博客

SpringBoot+Prometheus:微服务开发中自定义业务监控指标的几点经验-腾讯云开发者社区-腾讯云

Prometheus的使用总结-阿里云开发者社区

PromQL - PromQL 基本使用 - 《Prometheus 实战》 - 书栈网 · BookStack

Prometheus Metrics 设计的最佳实践和应用实例,看这篇够了! - 腾讯云原生 - 博客园

 

Prometheus(普罗米修斯,官网是https://prometheus.io/),是一个开源的系统监控和告警的工具包,其采用Pull方式采集时间序列的度量数据,通过Http协议传输。它的工作方式是被监控的服务需要公开一个Prometheus端点,这端点是一个HTTP接口,该接口公开了度量的列表和当前的值,然后Prometheus应用从此接口定时拉取数据,一般可以存放在时序数据库中,然后通过可视化的Dashboard(例如Promdash或者Grafana)进行数据展示

io.micrometer支持Tag(标签)的概念。

Prometheus是用定时Pull方式去服务器拉取指标数据,以拉取的时间打点做时间轴,形成时间序列。应用服务器只需暴露当下时刻的指标值即可,所以数据模型本质是一个个KV键值对,存放在全局的容器,Prometheus来获取的时候,将容器内的值格式化输出。此处的容器即为计量注册表(MeterRegistry)

  • Counter(计数器)简单理解就是一种只增不减的计数器,适用于只有服务器重启时候才会重置的计数场景,是Gauge的一个特例。。
  • Gauge(仪表)是一个表示单个数值的度量,它可以表示任意地上下移动的数值测量。
  • Timer(计时器)同时测量一个特定的代码逻辑块的调用(执行)速度和它的时间分布。
  • Summary(摘要)用于跟踪事件的分布。

 

此外,Prometheus Metrics 中有一种将样本数据以标签(Label)为维度作切分的数据类型,称为向量(Vector)。四种基本类型也都有其 Vector 类型:

  • CounterVec
  • GaugeVec
  • HistogramVec
  • SummaryVec

Vector 相当于一组同名同类型的 Metrics,以 Label 做区分。Label 可以有多个,Prometheus 实际会为每个 Label 组合创建一个 Metric。Vector 类型记录数据时需先打 Label 才能调用 Metrics 的方法记录数据。

posted @ 2025-07-22 09:21  CathyGao2018  阅读(32)  评论(0)    收藏  举报