菜单
开源

使用 Jsonnet 配置 Grafana Mimir ruler

ruler 是一个可选组件,因此在使用 Jsonnet 时默认不部署。有关 ruler 的更多信息,请参阅 Grafana Mimir ruler

要启用它,请将以下 Jsonnet 代码添加到 _config 部分

jsonnet
{
  _config+:: {
    ruler_enabled: true,
    ruler_storage_bucket_name: 'ruler-bucket-name',
  },
}

默认情况下,ruler 使用的对象存储后端将由 $._config.storage_backend 选项设置。如果需要,您可以通过设置 $._config.ruler_storage_backend 选项来覆盖它。ruler_storage_backend 选项必须是 localazuregcss3 之一。有关存储 ruler 状态可用选项的更多信息,请参阅 Grafana Mimir ruler: 状态

要开始使用,对于初始测试,请使用 local 客户端类型

jsonnet
{
  _config+:: {
    ruler_enabled: true,
    ruler_storage_backend: 'local',
    ruler_local_directory: '/path/to/local/directory',
  },
}

如果您使用对象存储,则必须将 ruler_storage_bucket_name 设置为您要使用的 bucket 名称。

注意

如果 ruler 对象存储凭据与公共部分中定义的凭据不同,则需要使用额外的命令行参数手动提供它们。有关更多信息,请参阅 Grafana Mimir 配置参数: ruler_storage

操作模式

ruler 有两种操作模式:internalremote。默认情况下,Jsonnet 使用 internal 操作模式部署 ruler。有关这些模式的更多信息,请参阅 操作模式

要启用 remote 操作模式,请将以下代码添加到 Jsonnet 中

jsonnet
{
  _config+:: {n
    ruler_remote_evaluation_enabled: true,
  },
}

注意

为了支持 remote 操作模式,配置中包含三个额外的 Kubernetes Deployment 作为单独的查询路径。

这些是

  • ruler-query-frontend
  • ruler-query-scheduler
  • ruler-querier

迁移到远程评估

要执行从 internal 到 remote 规则评估的零停机迁移,请按照以下步骤操作

  1. 部署以下更改以在迁移模式下启用远程评估。这样做会导致上面列出的三个新的 Kubernetes Deployment 启动。但是,它们暂时不会重新配置 ruler 以使用它们。

    jsonnet
    {
     _config+:: {
       ruler_remote_evaluation_enabled: true,
       ruler_remote_evaluation_migration_enabled: true,
     },
    }
  2. 在进入下一步之前,检查以下所有 Deployment 的 Pod 是否已成功启动

    • ruler-query-frontend
    • ruler-query-scheduler
    • ruler-querier
  3. 通过部署以下更改,重新配置 ruler Pod 以执行远程评估

    jsonnet
    {
      _config+:: {
        ruler_remote_evaluation_enabled: true,
      },
    }