PromQL基础语法(上)-数据类型、时序选择器、二元操作符【prometheus查询语句】

文章目录

  • 1. 数据类型
    • 1.1 Gauge(仪表盘)
    • 1.2 Counter(计数器)
    • 1.3 HIstogram(直方图)
    • 1.4 Summary(摘要)
  • 2. 时序选择器
    • 2.1 瞬时向量选择器
    • 2.2 区间向量选择器
    • 2.3 偏移修饰器
      • - 瞬时向量的偏移修饰器
      • - 区间向量的偏移修饰器
  • 3. 二元操作符
    • 3.1 算术操作符
      • - 符号说明
      • - 示例
    • 3.2 匹配操作符
      • - 符号说明
      • - 示例(比较判断)
      • - 示例(正则匹配)
    • 3.3 逻辑操作符
      • - 符号说明
      • - 示例(and | or)
      • - 示例 (unless)
      • - 优先级 (and > or)
      • - 优先级(unless > or)
    • 3.4 优先级

1. 数据类型

1.1 Gauge(仪表盘)

详情见:《动手写prometheus的exporter-01-Gauge(仪表盘)》

1.2 Counter(计数器)

详情见:《动手写prometheus的exporter-02-Counter(计数器)》

1.3 HIstogram(直方图)

详情见:动手写prometheus的exporter-03-HIstogram(直方图)》

1.4 Summary(摘要)

详情见:《动手写prometheus的exporter-04-Summary(摘要)》

2. 时序选择器

2.1 瞬时向量选择器

  • 简单示例

以下是一个端口存活的

probe_success

在这里插入图片描述

  • 条件过滤

对于上边的结果,我们做一些过滤:

probe_success{group="http", job="http_hq_nginx", project="HQ-AllInOne-PC"}

在这里插入图片描述

2.2 区间向量选择器

  • 时间单位
符号说明
s
m
h小时
d
w星期
y
  • 使用
system_mem_used_percent[60s]
  • 有图有真相
    在这里插入图片描述

2.3 偏移修饰器

- 瞬时向量的偏移修饰器

system_mem_used_percent offset 5m

在这里插入图片描述

- 区间向量的偏移修饰器

system_mem_used_percent[3m] offset 5m

在这里插入图片描述

3. 二元操作符

3.1 算术操作符

- 符号说明

符号说明
+
-
*
/
%取余
^

- 示例

system_mem_used{ident="10.10.239.31"}+ system_mem_free{ident="10.10.239.31"}- system_mem_total{ident="10.10.239.31"}

说明:

  • prometheussystem_mem_usedfree 命令的 used + buff/cache
  • 以上: 使用的+空闲的=总数

3.2 匹配操作符

- 符号说明

符号说明
==等于
!=不等于
>大于
>=大于等于
<小于
<=小于等于
=~匹配正则
!~匹配正则非

- 示例(比较判断)

如图可见 大于 80%的都被筛选出来
-

- 示例(正则匹配)

在这里插入图片描述

3.3 逻辑操作符

- 符号说明

符号说明
and和(交集)
or或(并集)
unless补集

- 示例(and | or)

system_mem_used_percent  > 80 or  system_mem_used_percent < 10

有图有真相

可见大于80% 和 小于 10%的都被筛选出来了。

在这里插入图片描述

- 示例 (unless)

(system_mem_used_percent  >75)  unless (system_mem_used_percent  < 70   or system_mem_used_percent  > 85 ) 
  • 先计算 < 70% or >85%
  • 再计算unless 是第一步的补集,结果 70% <= x <= 85%
  • 最后和 >75% 取交集,结果 75% < x < 85%

有图有真相:

在这里插入图片描述

- 优先级 (and > or)

and优先级高于or

  • 示例
system_mem_used_percent  > 5 or system_mem_used_percent < 10 and system_mem_used_percent > 80  

先计算and(结果是空),再计算 or(空和大于5%取or) ,因此结果是 >5

  • 有图有真相

如图可见,大于5%的都被取出来了

在这里插入图片描述

  • 先算or怎么办

用括号把先算的括起来,括号可以套括号

(system_mem_used_percent  > 5 or system_mem_used_percent < 10 )and system_mem_used_percent > 80  

括号里边计算or (结果0~100%),再计算括号外边 and,结果 >80%

  • 有图有真相,验证结果

如下图,结果只有大于80%的几条结果

在这里插入图片描述

- 优先级(unless > or)

  • 示例
system_mem_used_percent  > 90   or   system_mem_used_percent  > 60   unless system_mem_used_percent  > 70 

计算说明:

  • 先计算unless:x >70的补集是 x <= 70 ,结果跟 x > 60 取交集 ,得 60< x <=70
  • 再计算or:x > 9060< x <=70 的交集,结果是:x > 9060< x <=70
  • 有图有真相,验证结果

在这里插入图片描述

  • 如果要先计算or
(system_mem_used_percent  > 90   or   system_mem_used_percent  > 60)   unless system_mem_used_percent  > 70 

计算说明:

  • 先计算括号里or:括号里结果为 >60%
  • 再计算括号外unless:>70%的补集是 <= 70%,和 >60%取并集 60< x <= 70%
  • 有图有真相,结果验证
    在这里插入图片描述

3.4 优先级

顺序符号
1^
2*, /, %
3+, -
4==, !=, <=, <, >=, >
5and, unless
6or

接下来,《PromQL基础语法(下)》将讲述“聚合运算符”和“内置函数”


在这里插入图片描述


http://www.niftyadmin.cn/n/2866.html

相关文章

计算机毕业设计(附源码)python音蕾心动

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

信息竞赛(NOI)如何高效刷题 建议刷题历程

信息学竞赛刷题建议历程 信息学竞赛刷题建议历程_PYL2077的博客-CSDN博客_信息学奥赛提高组省一刷题攻略 https://blog.csdn.net/ykw_cnyali/artice/details/70227630 信息学竞赛刷题建议历程_Adam710的博客-CSDN博客 如何准备信息学算法竞赛&#xff1f; ——我是如何赢得美…

JdbcTemplate

1、什么是 JdbcTemplate &#xff08;1&#xff09;Spring 框架对 JDBC 进行封装&#xff0c;使用 JdbcTemplate 方便实现对数据库操作 2、准备工作 &#xff08;1&#xff09;引入相关 jar 包 &#xff08;2&#xff09;在 spring 配置文件配置数据库连接池 <!-- 数据…

请问swat输出的是有机氮、 有机磷、 硝态氮等,但目前只有总磷、总氮和氨氮的数据,该怎么率定呢?

受全球环境变化和经济快速发展的影响&#xff0c;面源污染已逐渐成为水环境污染的第一因素。但面源污染由于具有排放分散、隐蔽&#xff0c;排污随机、不确定、不易监测等特点&#xff0c;再加上单位面积上的污染负荷小&#xff0c;人们往往忽视其宏观效应。因此&#xff0c;打…

生命在于学习——Cobalt Strike体验

本篇文章仅用于学习记录&#xff0c;不得用于其他用途。 一、CS简介 1、CS简介 Cobalt Strike是一款基于java的渗透测试神奇&#xff0c;常被称为CS神奇。自3.0以后已经不在使用Metasploit框 架而作为一个独立的平台使用&#xff0c;分为客户端与服务端 (CS架构的)&#xff…

【学习记录】参加比赛docker打包记录

这次摸鱼和同组的参加了一次比赛&#xff0c;负责给其他人训练好的模型打包成docker&#xff0c;这里简单记录一下过程中遇到的问题。 一、dockerfile的编写 关于dockerfile的语法并不是关键点&#xff0c;根据那几个关键字写好然后制作即可&#xff0c;在制作过程中可以使用…

200个经典C语言程序

1.绘制余弦曲线 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组&#xff0c;这个问题十分简单。但若规定不能使用数组&#xff0c;问题就变得不容易了。 关键在于余弦曲线在0~360度的区间内&#xff0c;一行中要显示两…

CSDN 编程竞赛·第八期总结

CSDN 编程竞赛第八期总结1.代写匿名信2.小艺改编字符串3.开学趣闻之美食诱惑4.争抢糖豆CSDN 编程竞赛第八期为笔者参加的第三次 CSDN 编程竞赛&#xff0c;本来报名了第七期的&#xff0c;因为时间和二十大撞了&#xff0c;就错过了&#xff0c;第八期成绩似乎不错&#xff0c;…