运维别卷系列 - 云原生监控平台 之 04.prometheus 查询语句 promql 实践

PromQL 简介

  • Prometheus provides a functional query language called PromQL (Prometheus Query Language) that lets the user select and aggregate time series data in real time. The result of an expression can either be shown as a graph, viewed as tabular data in Prometheus’s expression browser, or consumed by external systems via the HTTP API.
  • Prometheus 提供了一种称为 PromQL(Prometheus 查询语言)的功能查询语言,允许用户实时选择和聚合时间序列数据。表达式的结果可以显示为图形,在 Prometheus 的表达式浏览器中查看为表格数据,也可以通过 HTTP API 由外部系统使用。

什么是时间序列

  • 同一指标和同一组标记维度的时间戳值流。Prometheus 将所有数据存储为时间序列。
  • 时间序列 = 指标名称{label_name="label_value"}
  • PromQL 执行出来的每一行,都属于时间序列,即使指标名称是相同的,但是 label 肯定是不同的

在这里插入图片描述

PromQL 数据类型

在 Prometheus 的表达式语言中,表达式或子表达式的计算结果可以达到以下四种类型之一

即时向量 Instant vector

Instant vector selectors

即时向量:一组时间序列,每个时间序列包含一个样本,所有样本共享相同的时间戳

  • 三种查询组合:

只使用标签名称,如:node_memory_MemAvailable_bytes

在这里插入图片描述

只使用 label,如:{instance="192.168.11.167:9100"}

在这里插入图片描述

标签名称加 label,如:node_memory_MemAvailable_bytes{instance="192.168.11.167:9100"}

如果有多个 label 可以写成 node_memory_MemAvailable_bytes{instance="192.168.11.167:9100",app="node-exporter"},用逗号分隔多个 label

在这里插入图片描述

  • Instant vector 支持匹配运算,也只是使用正则表达式来匹配
  • 正则表达式匹配是完全锚定的。
    • 匹配项 env=~"foo" 被视为 env=~"^foo$"

=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值