Prometheus记录规则实践

完整译文请访问记录规则

点击这里获取云原生干货icon-default.png?t=M0H8https://www.coderdocument.com/resource_credential.html?code=云原生干货

使用记录规则的一致命名方案,易于解释规则含义,还可以避免错误,暴露错误的或无意义的计算。

本文档记录了如何正确地进行聚合,并提供了一种命名约定。

命名和聚合

记录规则的一般形式为 level:metric:operationslevel表示聚合级别和规则输出的标签。metric是指标名称,在使用rate()irate()函数时,除了将_total从计数器中剥离外,指标名称应该保持不变。operations是应用于指标的操作列表,最新的操作优先。

保持指标名称不变,可以很容易地知道指标是什么,并且很容易在代码库中找到它。

为了保持操作的整洁性,如果有其他操作,则省略_sum,如sum()。可以合并关联操作(例如min_minmin相同)。

如果没有明显的操作可以使用,则使用sum。当通过除法计算比率(ratio)时,使用_per_分隔指标和ratio操作调用。

当聚合比率时,分子分母分别聚合,然后相除。请不要使用比率的平均数或平均数的平均数,因为这在统计上是无效的。

当聚合摘要图的_count_sum,然后相除以计算平均观察值大小时,将其作为一个比率处理很不方便。相反,保留没有_count_sum后缀的指标名称,并将操作中的rate替换为mean,这这就代表了示该时间段内的平均观察值大小。

总是应该为without子句指定你将要聚合掉的标签。这是为了保留所有其他标签,如job,这样可以避免冲突,并为你提供更有用的指标和告警。

示例

注意缩进风格,在两个向量之间的它们自己的行上有减少缩进的操作符。为了在Yaml中实现这种风格,使用了带缩进指示器的块引用,例如|2

聚合拥有path标签的每秒的请求数量:

- record: instance_path:requests:rate5m
  expr: rate(requests_total{job="myjob"}[5m])

- record: path:requests:rate5m
  expr: sum without (instance)(instance_path:requests:rate5m{job="myjob"})

计算请求故障率并聚合到作业级别故障率:

- record: instance_path:request_failures:rate5m
  expr: rate(request_failures_total{job="myjob"}[5m])

- record: instance_path:request_failures_per_requests:ratio_rate5m
  expr: |2
      instance_path:request_failures:rate5m{job="myjob"}
    /
      instance_path:requests:rate5m{job="myjob"}

# Aggregate up numerator and denominator, then divide to get path-level ratio.
- record: path:request_failures_per_requests:ratio_rate5m
  expr: |2
      sum without (instance)(instance_path:request_failures:rate5m{job="myjob"})
    /
      sum without (instance)(instance_path:requests:rate5m{job="myjob"})

# No labels left from instrumentation or distinguishing instances,
# so we use 'job' as the level.
- record: job:request_failures_per_requests:ratio_rate5m
  expr: |2
      sum without (instance, path)(instance_path:request_failures:rate5m{job="myjob"})
    /
      sum without (instance, path)(instance_path:requests:rate5m{job="myjob"})

及时获取更多精彩文章,请扫码关注如下公众号《云原生之家》:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值