1、样本过滤 【按照标签,多个标签用逗号分割】
过滤前: rule_platform_sync_success_counter_total
过滤后:rule_platform_sync_success_counter_total{service="srch-rule-platform-sync-prod-prom"}
![](https://img-blog.csdnimg.cn/20190812171124861.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMjgzNzE2,size_16,color_FFFFFF,t_70)
注:
= 精确地匹配标签给定的值 != 不等于给定的标签值 =~ 正则表达匹配给定的标签值 !~ 给定的标签值不符合正则表达式
2、样本过滤 【按样本值】
![](https://img-blog.csdnimg.cn/2019081217113689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMjgzNzE2,size_16,color_FFFFFF,t_70)
1.表达式语言数据类型 instant vector 瞬时向量 - 它是指在同一时刻,抓取的所有度量指标数据。这些度量指标数据的key都是相同的,也即相同的时间戳。 range vector 范围向量 - 它是指在任何一个时间范围内,抓取的所有度量指标数据。 scalar 标量 - 一个简单的浮点值 string 字符串 - 一个当前没有被使用的简单字符串 1.1 字符串 PromQL遵循与Go相同的转义规则。在单引号,双引号中,反斜杠成为了转义字符,后面可以跟着a, b, f, n, r, t, v 或者\。 可以使用八进制(\nnn)或者十六进制(\xnn, \unnnn和\Unnnnnnnn)提供特定字符。 ( ps :在反引号内不处理转义字符) 1.2 浮点数 标量浮点值可以直接写成形式-[.(digits)]。 1.3 即时向量 瞬时向量选择器可以对一组时间序列数据进行筛选,并给出结果中的每个结果键值对(时间戳-样本值): 最简单的形式是,只有一个度量名称被指定。在一个瞬时向量中这个结果包含有这个度量指标名称的所有样本数据键值对。 可以采用不匹配的标签值也是可以的,或者用正则表达式不匹配标签。标签匹配操作如下所示: = 精确地匹配标签给定的值 != 不等于给定的标签值 =~ 正则表达匹配给定的标签值 != 给定的标签值不符合正则表达式 1.4 范围向量 范围向量类似瞬时向量, 不同在于,它们从当前实例选择样本范围区间。在语法上,时间长度被追加在向量选择器尾部的方括号[]中,用以指定对于每个样本范围区间中的每个元素应该抓取的时间范围样本区间。 时间长度有一个数值决定,后面可以跟下面的单位: s - seconds m - minutes h - hours d - days w - weeks y - years 在下面这个例子中, 选择过去5分钟内,度量指标名称为http_requests_total, 标签为job= "prometheus" 的时间序列数据: http_requests_total{job=”prometheus”}[5m] 偏移修饰符 这个offset偏移修饰符允许在查询中改变单个瞬时向量和范围向量中的时间偏移 例如,下面的表达式返回相对于当前时间的前5分钟时的时刻, 度量指标名称为http_requests_total的时间序列数据: http_requests_total offset 5m 注意:offset偏移修饰符必须直接跟在选择器后面
|