菜单
Grafana Cloud Enterprise 开源

使用 Grafana Mimirtool 导入数据源管理的告警规则

您可以使用 Grafana 用户界面中的 Grafana 导入工具将数据源管理的告警规则转换为 Grafana 管理的告警规则,或者使用 Grafana Mimirtool 命令行工具进行转换。本指南介绍如何使用 Mimirtool 导入数据源管理的告警规则。

开始之前

需要启用 grafanaManagedRecordingRulesDatasources 功能标志 才能使用此功能。

要使用 Grafana Mimirtool 导入数据源管理的告警规则,需要安装 Grafana Mimirtool 命令行工具。

您需要一个具有以下 RBAC 权限 的服务账号

  • 告警:规则读取者
  • 告警:规则写入者
  • 告警:设置配置状态
  • 数据源:读取者
  • 文件夹:创建者
  • 文件夹:读取者
  • 文件夹:写入者

您还需要使用您的服务账号创建服务账号令牌。有关服务账号和服务账号令牌的更多信息,请参阅文档

工作原理

当数据源管理的告警规则转换为 Grafana 管理的告警规则时,Grafana 管理的告警规则将应用以下设置:

  • 所有规则都将获得 rule_query_offset 偏移值 1 分钟。
    Grafana OSS 和 Enterprise 可以在其 conf 中配置此值
    [unified_alerting.prometheus_conversion]
    rule_query_offset = 1m
    如果在规则组中明确设置了此值,则该值优先于配置设置。
  • 新规则的 missing_series_evals_to_resolve 设置为 1。
  • 新创建的规则将获得唯一的 UID。
    如果您不想自动生成 UID,可以使用 __grafana_alert_rule_uid__ 标签指定一个特定的 UID。

使用 Mimirtool 或 cortextool 导入告警规则

您可以使用 Mimirtoolcortextool(0.11.3 或更高版本)导入您的告警规则。有关 Mimirtool 命令的更多信息,请参阅 Mimirtool 文档

要转换您的告警规则,请使用以下命令提示符,按指示替换您的 URL 和服务账号令牌,然后是您期望的 Mimirtool 命令。

bash
MIMIR_ADDRESS=https://<Grafana URL>.grafana-dev.net/api/convert/ MIMIR_AUTH_TOKEN=<your token ID> MIMIR_TENANT_ID=1

对于 cortextool,需要设置 --backend=loki 来导入 Loki 告警规则。例如

bash
CORTEX_ADDRESS=<grafana url>/api/convert/ CORTEX_AUTH_TOKEN=<your token> CORTEX_TENANT_ID=1 cortextool rules --backend=loki list

可以通过 --extra-headers 将头部信息传递给 mimirtoolcortextool

有关规则 API 端点和 Mimirtool 命令示例的更多信息,请参阅 Mimir HTTP API 文档

注意

要使用 mimirtool rules sync 命令,需要将 --concurrency 参数设置为 1 (--concurrency=1)。该参数默认值为 8,可能会导致 API 返回错误。

兼容的端点

以下是兼容的 API 端点:

GET

GET /convert/prometheus/config/v1/rules - Get all rule groups across all namespaces
GET /convert/prometheus/config/v1/rules/<NamespaceTitle> - Get rule groups in a specific namespace
GET /convert/prometheus/config/v1/rules/<NamespaceTitle>/<Group> - Get a single rule group

POST

POST /convert/prometheus/config/v1/rules - Create/update multiple rule groups across multiple namespaces
POST /convert/prometheus/config/v1/rules/<NamespaceTitle> - Create/update a single rule group in a namespace

Post 规则还需要以下头部信息:发布规则时:X-Grafana-Alerting-Datasource-UID - 提供用于查询的数据源的 UID。

DELETE

DELETE /convert/prometheus/config/v1/rules/{NamespaceTitle} - Delete all alert rules in a namespace
DELETE /convert/prometheus/config/v1/rules/{NamespaceTitle}/{Group} - Delete a specific rule group

可选头部

用于更精细导入控制的额外配置头部信息包括以下内容:

  • X-Grafana-Alerting-Recording-Rules-Paused - 设置为“true”以导入暂停状态的记录规则。
  • X-Grafana-Alerting-Alert-Rules-Paused - 设置为“true”以导入暂停状态的告警规则。
  • X-Grafana-Alerting-Target-Datasource-UID - 输入目标数据源的 UID。
  • X-Grafana-Alerting-Folder-UID - 输入导入规则的目标文件夹的 UID。