1、数据来源
Prometheus作为一个开源的监控告警工具,他采集的数据保存在内置的时序数据库当中(TSDB)。而Prometheus的数据来源,一是Prometheus服务端每隔一定时间通过 HTTP 协议主动拉取数据,二是监控目标先将数据主动推送到Prometheus网关,Prometheus服务端再拉取网关中的数据。
2、指标
指标(Metrics)通常是由 指标名称(Name)、标签(Labels)和值(Value)组成的。
指标名称和标签(键值对)构成唯一的时间序列。如果指标名称相同,但标签不同,这样也会生成一条不同的时间序列。
指标名称的命名规范:只能由 ASCII 字符、数字、下划线以及冒号组成。
标签的命名规范:只能由 ASCII 字符、数字以及下划线组成。
指标参考示例 :
UMR_RegistryStu_Request_total{code="S00000",method="registryStu"} 3.0
上述为 Spring actuator集成Prometheus之后,通过调用第三方组件自动生成的,可以被Prometheus采集到的指标数据。
UMR_RegistryStu_Request_total 为指标名称,
{code="S00000",method="registryStu"} 为标签,
3.0 是值,表示请求了这个接口3次
3、指标类型
Prometheus的指标类型分为:
Counter(计数器)、Guage(仪表盘)、Histogram(直方图)、Summary(摘要)
Counter计数器的特点:只增不减,通常用于统计接口请求次数。指标名称以 "_total"结尾。
UMR_RegistryStu_Request_total{code="S00000",method="registryStu"} 3.0
创建了一个计数器UMR_RegistryStu_Request_total ,并为其添加了{code="S00000",method="registryStu"}这个标签,3.0表示请求了registryStu这个接口3次
Histogram直方图的特点:
在一段时间范围内对数据进行采样(通常是请求持续时间或响应大小等),也可以统计样本总数
UMR_RegistryStu_Request_seconds_count{function="registryStu",userName="hu",} 3.0
UMR_RegistryStu_Request_seconds_count 表示样本的总数,这里说明一共请求了 3 次
UMR_RegistryStu_Request_seconds_sum{function="registryStu",userName="hu",} 7.045
UMR_RegistryStu_Request_seconds_sum 表示所有样本的总耗时,是 7.045 秒
UMR_RegistryStu_Request_seconds_max{function="registryStu",userName="hu",} 5.017
UMR_RegistryStu_Request_seconds_max表示请求registryStu接口,最大一次耗时为5.017秒