prometheus------PromQL学习笔记(1)

1 时间序列

在 …(主机号)/metrics 里面是监控的各项指标

# HELP postgresql_backends_total Number of backends currently connected to database
# TYPE postgresql_backends_total gauge
postgresql_backends_total{database_name="a"} 6

HELP :是对指标进行说明(其中指标名是postgresql_backends_total)
TYPE :度量标准,表示该样本类型 (一共有四种 Count [只增不减] 、Gauge[可增可减] 、Summary、Histogram

prometheus将采集的样本数以时间序列的方式保存在内存数据库中。
样本:指标(metrics): 指标名(metrics name)以及描述当前指标特征的标签集(labelsets);
时间戳(timestap):精确到毫秒的时间戳;
样本值(value):一个float64的浮点类型数据表示当前样本的值。

指标(metrics)
格式: {

2 Metrics类型

Prometheus定义了4中不同的指标类型(metric type):Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要)。
Counter:只增不减的计数器(除非系统发生重置) 一般会以total为后缀
通过rate()函数获取HTTP请求量的增长率: rate(http_requests_total[5m])
Gauge:可增可减的仪表盘
侧重反应指标当前状态。
使用Histogram和Summary分析数据分布情况

3 PromQl

通过指标名称以及对应的一组标签唯一定义一条时间序列。
Promql是Prometheus内置的数据查询语言,提供对时间数据丰富的查询。
查询时间序列
直接使用监控指标名称查询,会显示该指标下的所有时间序列。
例如:promhttp_metric_handler_requests_total,(我是监控了3台虚机的redis的使用情况)
在这里插入图片描述
还可以通过指标进行过滤(过滤其中一个虚机的监控情况)
在这里插入图片描述
promQL 支持 = 和**!=**
使用 label=value 可以选择标签满足表达式的时间序列
使用 label!=value 可以根据标签排除时间序列

还支持 正则表达式定义的时间序列,使用 =~!~

范围查询 —区间向量表达式
http_request_total{}[5m] 选择最近5分钟的所有样本数据
还有其他时间单位: s - 秒 、m - 分钟、h - 小时、d - 天、w - 周、y - 年

瞬时向量或者区间向量表达式中,都是以当前时间为基准
http_request_total{} # 瞬时向量表达式,选择当前最新的数据 http_request_total{}[5m] # 区间向量表达式,选择以当前时间为基准,5分钟内的数据
可以使用时间位移,选择以过去的时间为基准
http_request_total{} offset 5m 5分钟前的瞬时样本数据

聚合操作
通过PromQL查询数据,会返回多条满足这些特征维度的时间序列。而PromQL提供的聚合操作可以用来对这些时间序列进行处理,形成一条新的时间序列
查询处理请求的所有时间序列的总量
在这里插入图片描述
标量和字符串
标量(scalar):一个浮点型的数字值,没有时序
字符串(string):简单的字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值