【监控指标】Prometheus
参考:
SpringBoot + Prometheus:打造高效监控系统-CSDN博客
Prometheus自定义监控内容_io.micrometer-CSDN博客
SpringBoot+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 的方法记录数据。

浙公网安备 33010602011771号