如何使用Loki的Recording Rules,其规则评估结果该如何获取?
Loki Recording Rules 使用疑问解答
一、规则评估结果的获取渠道
Loki Recording Rules的评估结果可以通过三个核心渠道获取:
- 本地TSDB存储:Ruler组件默认会将评估生成的时序数据持久化到本地磁盘,默认路径为
/data/loki/ruler,可通过配置项ruler.storage.local.directory自定义存储路径,你可以直接读取该目录下的TSDB文件获取全量历史评估数据。 - Ruler原生API:调用Ruler服务的
/loki/api/v1/rules接口,可直接获取每条规则的最近评估结果、运行状态、生成的时序数值等信息。 - 远端同步存储:如果配置了Ruler的远程写规则,评估结果会同步写入你指定的支持Prometheus远程写协议的存储介质(如Prometheus、Mimir等),可直接在对应存储中查询规则结果。
二、指标采集方式说明
不需要强制将结果推送到Pushgateway这类组件,你可以根据部署场景二选一:
- 直接抓取Ruler组件:Ruler默认已经暴露了Prometheus格式的
/metrics接口,你只需要在Prometheus的抓取配置中添加Ruler的服务地址,即可直接拉取到所有Recording Rules生成的指标值,是官方推荐的轻量方案,不需要额外部署中间组件。 - 主动推送至目标存储:如果你的架构没有统一的Prometheus抓取服务,或是需要做多副本Ruler的指标聚合,才需要配置
remote_write参数将评估结果推送到Pushgateway、远端Prometheus等组件中,该方案属于扩展可选能力,不是强制要求。
内容的提问来源于stack exchange,提问作者Federico Nafria
相关产品推荐
相关产品推荐

