首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏首富手记

    PromQL

    PromQL PromeQL是prometheus内置的数据查询语言,其提供对时间序列数据丰富的查询,聚合以及逻辑运算能力的支持。 并且被广泛应用在prometheus的日常应用当中,包括数据查询,可视化,告警处理当中,grafana绘图就是利用了prometheus里面的PromQL的功能 查询时间序列 当prometheus通过 PromQL还支持用户根据时间序列的标签匹配模式来对时间序列进行过滤,目前主要支持两种匹配模式:完全匹配和正则匹配。 完全匹配 PromeQL支持使用=和! 正则表表达式作为过滤条件 PromQL还可以支持使用正则表达式作为匹配条件,多个表达式之间使用| 进行分离: 使用 label=~regx 表示选择那些标签符合正则表达式定义的时间序列 反之使用label 函数 sum求和函数 一般来说,如果描述样本特征的标签(label)在并非唯一的情况下,通过PromQL查询数据,会返回多条满足这些特征维度的时间序列。

    3K21发布于 2019-11-04
  • 来自专栏容器云实践

    PromQL全解析

    PromQL(Prometheus Query Language)为Prometheus tsdb的查询语言。是结合grafana进行数据展示和告警规则的配置的关键部分。 gauge (仪表类型) histogram(直方图类型) summary (摘要类型) 便于读者实践,本文大部分样本数据target: Prometheus node_exporter 表达式数据类型 PromQL prometheus_http_requests_total{code="200"}[3m] offset 5m @修饰符 还可以通过 @ 直接跳转到某个uinx时间戳,需开启启动参数 --enable-feature=promql-at-modifier

    4.6K31编辑于 2022-03-14
  • 来自专栏k8s技术圈

    PromQL 使用基础

    PromQL 是 Prometheus 内置的数据查询语言,其提供对时间序列数据丰富的查询,聚合以及逻辑运算能力的支持。 可以这么说, PromQL 是 Prometheus 所有应用场景的基础,理解和掌握 PromQL 是我们使用 Prometheus 必备的技能。 PromQL 内置的聚合操作和函数可以让用户对这些数据进行进一步的分析,例如,通过 rate() 函数获取 HTTP 请求量的增长率: rate(http_requests_total[5m]) 查询当前系统中 查询 当 Prometheus 采集到监控指标样本数据后,我们就可以通过 PromQL 对监控样本数据进行查询。 除了这些关于 PromQL 最基本的知识点之外,还有很多相关的使用方法,可以参考官网相关介绍:(https://prometheus.io/docs/prometheus/latest/querying

    3.7K42发布于 2020-06-15
  • 来自专栏Java技术进阶

    PromQL之函数

    Prometheus 版本 2.41.0 平台统一监控的介绍和调研 直观感受PromQL及其数据类型 PromQL之选择器和运算符 PromQL之函数 PromQL 聚合函数 PromQL 的聚合函数只能用于瞬时向量 示例: 过去1分钟内,90%的接口,每秒请求数的增长速率 quantile(0.9, rate(http_server_requests_seconds_count[1m])) PromQL 内置函数

    4K10编辑于 2023-02-02
  • 来自专栏charlieroro

    解析Prometheus PromQL

    解析PromQL 目前对Prometheus 的promQL 的解析文章比较少,且Prometheus官方也没有提供一个公共的库来对齐进行解析。 下面实现对promQL的解析,并实现注入label功能。 源码定义在prometheus/promql/parser/lex.go // Aggregators. 源码定义在Prometheus/promql/parser/function.go文件中, // Functions is a list of all functions supported by PromQL Prometheus源码的eval函数(位于Prometheus/promql/engine.go文件中)对分别不同类型的promQL进行了处理,可以参考此处代码。

    1.8K10发布于 2021-09-23
  • 来自专栏01ZOO

    DSL parser 和 PromQL

    DSL parser 和 PromQL 这是promql的学习笔记,从promql的代码学习中,希望学习到的是:如何实现一个像promql的parser 先看两个算法题 1. 简介 参考1 参考2 PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言,语言表现力非常丰富,内置函数很多,在日常数据可视化以及 实现 本质上看,PromQL很类似上面列举的两个算法题,无非是求一个expresion,只是PromQL支持的能力要强大很多。 从promql的代码来看看他是怎么实现的,和我们简单expression的实现有什么不同。 入口 PromQL本质就是实现下面的interface, 执行一个query,返回结果,支持取消、关闭和获取解析后表达式以及执行统计信息。

    3.3K120发布于 2019-07-07
  • 来自专栏五分钟学SRE

    PromQL的概念介绍

    PromQL (Prometheus Query Language)是 Prometheus 监控系统内置的一种查询语言,PromQL 允许你以灵活的方式选择、聚合等其他方式转换和计算时间序列数据,帮助用户快速地查询和分析监控数据 原理 PromQL基于时间序列模型,即将数据按时间序列进行存储和查询。 PromQL通过使用这些标识符来查询和聚合时间序列数据。 PromQL提供了一些基本的查询操作,如过滤器、聚合器、函数等,可以帮助用户快速地查询和分析数据。 PromQL 就是对这样一批样本数据做查询和计算操作。 在PromQL中,表达式是由函数、操作符、常量和变量组成的。

    1.3K10编辑于 2023-11-22
  • 来自专栏k8s技术圈

    Prometheus 常用 PromQL 语句

    PromQL 是 Prometheus 提供的一个函数式的表达式语言,可以使用户实时地查找和聚合时间序列数据。 PromQL 虽然以 QL 结尾,但是它不是类似 SQL 的语言,因为在时间序列上执行计算类型时,SQL 语言相对缺乏表达能力。 然而 PromQL 也是大部分使用 Prometheus 的用户的梦魇,压根不知道如何去编写,很多情况下都是参考别人的来编写,假如自己去实现一个需求从0写一条 PromQL 语句还是比较费劲。 这里我们就将一些常用的 PromQL 查询方式进行一些简单的说明,希望对大家有所帮助。 由于微信压缩比较严重,如果你想要获取原图可以在公众号中回复 PromQL 关键字获取高清 PDF 文档。

    12.2K31发布于 2020-07-24
  • 来自专栏云原生实验室

    保姆级别的 PromQL 教程

    这篇文章介绍如何使用 PromQL 查询 Prometheus 里面的数据。 经过照葫芦画瓢地写了很多 PromQL 来设置监控和告警规则,我渐渐对 PromQL 的逻辑有了一些理解。这篇文章从头开始,通过介绍 PromQL 里面的逻辑,来理解这些函数的作用。 PromQL 语言的数据类型 为了避免读者混淆,这里说明一下 Metric Type 和 PromQL 查询语言中的数据类型的区别。 我们说的 Instant Vector 还是 Range Vector, 指的是 PromQL 函数的入参和返回值的类型。 所以这个 PromQL 查询最终得到的数据点是:… 2.2, 1.96, 2.31, 2, 1.71 (即蓝色的点)。

    6.9K51发布于 2021-10-18
  • 来自专栏五分钟学SRE

    PromQL进阶与运用

    上一篇我们从PromQL入门,这个篇章我们继续学习下PromQL的进阶知识与实际的使用嵌套结构    PromQL是一种用于查询和分析时间序列数据的语言,它和SQL有一些相似之处,但也有一些明显的区别。 PromQL的结果类型    PromQL的结果类型主要有四种:标量(Scalar)、向量(Vector)、字符串(String)、以及布尔类型(Boolean)。 PromQL的结果类型非常丰富,可以满足各种不同的查询需求。了解这些结果类型可以帮助我们更好地理解PromQL的查询结果。 PromQL的运算符PromQL的运算符包括算术运算符、比较运算符、逻辑运算符、聚合函数和函数操作符等。下面我们将逐一介绍这些运算符,并给出具体的例子。 PromQL支持的比较运算符如下:==:等于运算符!

    1.1K10编辑于 2023-11-23
  • 来自专栏HHFCodeRv

    深入理解 PromQL

    Prometheus 开创性地提出了 PromQL 查询语法,大大简化了监控面板的配置门槛,使得应用开发者可以自由地配置、组合监控面板。 另一方面,这也导致很多人对 PromQL 并没有很深入的理解,无法掌握一些高级查询功能,遇到一些报错的时候不明所以。 的组成部分,帮助大家深入的理解 PromQL 语句的含义,以及能够根据所想写出合适的 PromQL 语句。 PromQL 解析 四则混合运算,可以拆分成 数字、操作符和括号,掌握了运算规则,再长的算式都变得很好理解。PromQL 也是如此。 表达式,即是由上述各部分组成的,理解了每个部分的含义,复杂的 PromQL 就很好理解了。

    2.4K10编辑于 2022-12-16
  • 来自专栏云原生应用工坊

    Observable Platform 5:PromQL, LogQL and TraceQL

    概述PromQL (Prometheus Query Language) :PromQL是用于查询和分析监控指标数据的查询语言,广泛用于Prometheus监控系统。 历史在PromQL、LogQL和TraceQL之前,业界在查询和分析监控指标、日志和链路时使用了不同的方法和工具。 PromQL 历史: PromQL最初由Prometheus开发团队开发,并于2012年首次发布。自那以后,它已经成为开源监控领域的标准之一,广泛应用于监控和警报系统。 PromQL 常用语句和语法:PromQL常用的语句包括基本查询、标签过滤、聚合、时间范围、数学运算和内置函数。 文档出处:PromQL官方文档 (英文): Prometheus Query Language (PromQL)LogQL官方文档 (英文): LogQL - Log Query LanguageTraceQL

    73510编辑于 2023-12-20
  • 来自专栏Golang语言开发栈

    Prometheus 的查询语言 PromQL 详解

    公众号主页点击右上角三个点图标, 01 介绍 我们使用 Prometheus Go client library 在 Go 代码中埋点,将指标数据上报到 Prometheus server,接下来我们使用 PromQL PromQL 可以在 Prometheus 提供的 http://localhost:9090/graph 中执行,本文我们介绍怎么使用 PromQL 查询指标数据。 02 PromQL PromQL 除了直接使用指标名称查询时序数据之外,还可以联合使用 Label 和函数等。 03 总结 本文我们主要介绍 PromQL 的一般使用方式,主要包括以下几个维度: 指标名称 标签 聚合运算符 子句 函数 选择器 匹配器 除了指标名称和标签,我们在之前的文章介绍过之外,其它都属于新知识 需要注意的是,本文我们介绍的是 PromQL 的查询范畴,关于 PromQL 计算范畴的内容,我们都没有介绍, 比如,算术运算符、比较运算符、逻辑运算符,也是非常重要的内容,尤其在我们配置告警时会用到这些运算符

    75810编辑于 2023-11-27
  • 来自专栏LEo的网络日志

    09 Nov 2020 promql学习(一)

    19420编辑于 2023-10-17
  • 来自专栏JetpropelledSnake

    Prometheus监控学习笔记之初识PromQL

    0x00 概述 Prometheus 提供了一种功能表达式语言 PromQL,允许用户实时选择和汇聚时间序列数据。 PromQL 遵循与 Go 相同的转义规则。在单引号或双引号中,用反斜杠来表示转义序列,后面可以跟 a, b, f, n, r, t, v 或 \。 所有的 PromQL 表达式必须至少包含一个指标名称,或者一个不会匹配到空字符串的标签过滤器。 以下表达式是非法的(因为会匹配到空字符串): {job=~".*"} # 非法! 除了能够方便的按照查询和过滤时间序列以外,PromQL还支持丰富的操作符,用户可以使用这些操作符对进一步的对事件序列进行二次加工。 详细描述请参考 PromQL 操作符。 0x07 内置函数 Prometheus 提供了大量的内置函数来处理时序数据,详细描述请参考 PromQL 内置函数。

    2.4K20发布于 2019-03-11
  • 来自专栏k8s技术圈

    PromQL 查询之 rate 函数的使用

    demo_api_request_duration_seconds_count{job="demo"} 可以得到下图所示的图形: 可以看到所有的都是不断增长的,一般来说我们更想要知道的是 Counter 指标的变化率,PromQL 为了解决该问题,PromQL 提供了另外一个灵敏度更高的函数irate(v range-vector)。irate 同样用于计算区间向量的计算率,但是其反应出的是瞬时增长率。

    12.4K43发布于 2021-10-20
  • 来自专栏LEo的网络日志

    09 Nov 2020 promql学习(一)

    15920编辑于 2023-10-17
  • 来自专栏JAVA乐园

    解析PromQL并修改添加Label

    最近做的项目中用到了Prometheus做预警服务,其中Prometheus使用promql语言来查询。 项目中用户通过UI或者自己手动输入PromQL时候是缺少一些系统参数的,所以需要在用户输入完成以后同步到Prometheus时候将这部分缺失的信息给添加回去,这里就需要修改用户写的PromQL了。 实现思路是通过Antlr4来解析PromQL并修改。 https://github.com/antlr/grammars-v4 上述url是antlr官方提供的各个语言的语法定义文件,其中就包含我需要PromQL,将上述代码中的promql包中的两个g4 现在开始编写解析PromQL并修改PromQL的代码: public class ParserUtil { public static String addLabels(String promQL

    57900编辑于 2025-02-18
  • 来自专栏CNCF

    使用 Prometheus 记录规则优化 PromQL 语句

    Prometheus 提供一种记录规则(Recording Rule) 来支持这种后台计算的方式,可以实现对复杂查询的 PromQL 语句的性能优化,提高查询效率。 # 输出的时间序列名称,必须是一个有效的 metric 名称 record: <string> # 要计算的 PromQL 表达式,每个评估周期都是在当前时间进行评估的,结果记录为一组新的时间序列,metrics : <string> # 添加或者覆盖的标签 labels: [ <labelname>: <labelvalue> ] 根据规则中的定义,Prometheus 会在后台完成 expr 中定义的 PromQL

    5.2K41发布于 2019-12-20
  • 来自专栏Java技术进阶

    直观感受PromQL及其数据类型

    由于PromQL内容较多,将内容分为三篇文章讲述: 一、直观感受PromQL及其数据类型 二、PromQL之选择器和运算符 三、PromQL之函数 想必都知道要使用Msql,必须会用SQL ,同样要使用Prometheus 就要掌握PromQL(Prometheus Query Language),它可以实时选择和汇聚时间序列数据,从而很方便的在Prometheus中查询和检索数据,结果可以展示为图表或者表格 直观感受PromQL 在详细介绍PromQL之前,我们先通过几个简单的查询来直观感受PromQL。 instance=“192.168.0.115:8000”, job=“provider”} 时间戳(TimeStamp):默认精确到毫秒 样本值(Value): 默认使用Float64 浮点类型 PromQL

    1.5K40编辑于 2023-02-03
领券