首页  

promQL ON 使用     所属分类 prometheus 浏览量 106
ON 是 PromQL 中的一种操作符,用于指定标签来匹配两个向量
可使用不同的操作符来组合两个时间序列向量,比如 +(加) -(减) *(乘) /(除)等

只有当指定的标签完全匹配时,两个时间序列才会被配对

cpu_usage + on(instance) memory_usage

计算每个实例的CPU和内存使用率之和

如果没有使用 ON() 或 IGNORING(), 默认会要求所有标签都必须匹配

and  逻辑和匹配

(increase(flink_jobmanager_job_runningTime[5m]) >0)
当前运行中的flink 任务 

flink_jobmanager_job_numberOfFailedCheckpoints and on(job,job_id)  (increase(flink_jobmanager_job_runningTime[5m]) >0)

flink_jobmanager_job_fullRestarts  and on(job,job_id)  (increase(flink_jobmanager_job_runningTime[5m]) >0)



匹配 时标签名 不一样 ,label_replace 临时重命名标签 label_replace( vector, "new_label", "replacement", "src_label", "regex") vector 要操作的时间序列向量 new_label replacement 替换 src_label 的值 src_label 要被替换或复制的现有标签的名称 regex 正则表达式,用于提取 src_label 的值中的一部分作为 new_label 的值 假设有两个指标 metric1 和 metric2 metric1 有一个标签 label1,而 metric2 有一个标签 label2,这两个标签在逻辑上是一致的,即 label1 的值应该与 label2 的值相对应。 可以使用 label_replace 创建一个新的临时标签 temp_label,然后用 ON() 进行匹配 metric1 + on(temp_label) label_replace(metric2, "temp_label", "$1", "label2", "(.)") 对 metric2 使用 label_replace 函数,创建了一个新的标签 temp_label,它的值直接取自 label2(因为正则表达式 (.) 匹配了整个标签的值)。 然后在两个指标之间进行加法操作,并通过 ON(temp_label) 保证只有当 metric1 的 label1 和 metric2 的 temp_label 相匹配时,才会进行计算。 label_replace 是在查询执行时临时应用的,不会影响存储在 Prometheus 中的实际数据。

上一篇     下一篇
kafka 与 rabbitMQ 比较

常用组件告警规则

flink-CDC-3.0 mysql to doris 数据同步任务 经常报错 stream load error: [LABEL_ALREADY_EXISTS]

杭州西山游步道爬山路线汇总

监控原则

一个URL请求的过程