为了减少查询 Prometheus 指标使用的时间,您可以在 Prometheus 监控中进行预聚合,即添加记录规则,使得查询效率更高。

背景信息

当查询或聚合成千上百的指标时,需要消耗大量时间或计算能力,并且结果返回也比较慢。而 Prometheus 则允许通过配置记录规则的方式,对采集的指标预处理后生成新的指标,实现持久查询的效果,而非每次输入查询规则,从而提高查询效率。

功能入口

  1. 登录 ARMS 控制台
  2. 在左侧导航栏单击 Prometheus 监控,并在 Prometheus 监控页面顶部选择地域,然后单击需要查看的 K8s 集群名称。
  3. 在左侧导航栏单击预聚合

添加记录规则

预聚合页面,添加记录规则。
  • 如果您使用单个 YAML 文件配置记录规则,那么可以单击编辑 Rules.yaml 添加记录规则。
  • 如果您使用的是 CRD(CustomResourceDefinition) 管理配置记录规则,那么可以单击新增 RecordingRule 添加记录规则。

以为 Flink 监控新增 RecordingRule 为例。

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: prometheus-flink-rules
  namespace: default
spec:
  groups:
  - name: flink
    rules:
    - record: flink_taskmanager_job_task_TimerCount_Event_by_job
      expr: sum(flink_taskmanager_job_task_TimerCount_Event) by (job_name)
      labels:
        step: 20s
    - record: flink_taskmanager_job_task_TimerCount_Processing_by_job
      expr: sum(flink_taskmanager_job_task_TimerCount_Processing) by (job_name)
      labels:
        step: 20s