PromQL 从入门到精通生态里,时序数据的标识,就是一堆标签集合,所以这里的过滤,就 是针对标签做过滤,支持四类操作符: =:完全匹配,比如 app="clickhouse" !=:完全不匹配,比如 app!="clickhouse" =~:正则匹配,比如 app=~"n9e-.*" !~:正则不匹配,比如 app!~"n9e-.*" 指标名称,通常放到大括号之外,但实际上,指标名称也是一个标签,其标签Key是 mem_total 的5条记录中找标签相同的记录,进 行除法运算。除法运算得到5条结果(0~1之间的数字),然后跟100相乘(得到百分比大 小),100这个数字称为标量,5条结果和标量计算,会把每一条结果分别乘以100,得到最终 的结果,这个最终结果其实就是 mem_available_percent。 如果分子和分母对应的selector查到的数据标签不同,就没法做除法运算了,比如 net_bytes_recv net_bytes_recv 比内存相关的指标多了一个interface的标签(标明网卡),二者是没法做运算 的,结果为空: net_bytes_recv{app="clickhouse"}/mem_total{app="clickhouse"} 比较运算符 == (equal) != (not-equal) > (greater-than) < (less-than)0 码力 | 16 页 | 2.77 MB | 1 年前3
告警OnCall事件中心建设方法白皮书
的是一个问题,只是时间戳不同,这样的两个 event,就可以收敛为一个 alert。 从实现上来说,告警策略(也称告警规则)+ 指标标签集的哈希值,可以作为 alert 的唯一标识。比如 刚才的例子,告警策略的 ID 假设为 32,标签集是:[“name=cpu_usage_idle”, “host=host1”], 这两个时间戳产生的告警事件,哈希值都是一样的。 计算方法是: 敛成一个 故障,下一分钟所有告警收敛成另一个故障。显然,一个故障内的多个告警相互之间可能没有关联关系, 所以这种收敛方法不是太好。 2、根据时间 + 标签做收敛 除了时间维度,再加上某个标签作为收敛维度,比如机器标签,某个时间段内所有 A 机器的告警收敛成 一个故障,所有 B 机器的告警收敛成另一个故障。或者按照服务维度,某个时间段内所有 A 服务的告警 收敛成一个故障,所有 ?通过在协作空 间里配置订阅规则。 订阅规则 订阅规则是一些过滤条件(通过事件标签、属性等),用于匹配告警事件,匹配到的告警事件,自动进入 这个协作空间。 比如:根据标签 来过滤告警事件, 把过滤到的告警事件订阅到“支付”协作空间。在“私有云”协作空 间创建订阅规则,根据标签 来过滤告警事件,把过滤到的告警事件订阅到“私有云”协作空间。 排除规则 告警事0 码力 | 23 页 | 1.75 MB | 1 年前3
共 2 条
- 1













