使用 Jsonnet 配置 Grafana Mimir ruler
ruler 是一个可选组件,因此在使用 Jsonnet 时默认不部署。有关 ruler 的更多信息,请参阅 Grafana Mimir ruler。
要启用它,请将以下 Jsonnet 代码添加到 _config
部分
{
_config+:: {
ruler_enabled: true,
ruler_storage_bucket_name: 'ruler-bucket-name',
},
}
默认情况下,ruler 使用的对象存储后端将由 $._config.storage_backend
选项设置。如果需要,您可以通过设置 $._config.ruler_storage_backend
选项来覆盖它。ruler_storage_backend
选项必须是 local
、azure
、gcs
或 s3
之一。有关存储 ruler 状态可用选项的更多信息,请参阅 Grafana Mimir ruler: 状态。
要开始使用,对于初始测试,请使用 local
客户端类型
{
_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 有两种操作模式:internal 和 remote。默认情况下,Jsonnet 使用 internal 操作模式部署 ruler。有关这些模式的更多信息,请参阅 操作模式。
要启用 remote 操作模式,请将以下代码添加到 Jsonnet 中
{
_config+:: {n
ruler_remote_evaluation_enabled: true,
},
}
注意
为了支持 remote 操作模式,配置中包含三个额外的 Kubernetes Deployment 作为单独的查询路径。
这些是
ruler-query-frontend
ruler-query-scheduler
ruler-querier
迁移到远程评估
要执行从 internal 到 remote 规则评估的零停机迁移,请按照以下步骤操作
部署以下更改以在迁移模式下启用远程评估。这样做会导致上面列出的三个新的 Kubernetes Deployment 启动。但是,它们暂时不会重新配置 ruler 以使用它们。
{ _config+:: { ruler_remote_evaluation_enabled: true, ruler_remote_evaluation_migration_enabled: true, }, }
在进入下一步之前,检查以下所有 Deployment 的 Pod 是否已成功启动
ruler-query-frontend
ruler-query-scheduler
ruler-querier
通过部署以下更改,重新配置 ruler Pod 以执行远程评估
{ _config+:: { ruler_remote_evaluation_enabled: true, }, }