菜单
文档breadcrumb arrow Grafana 文档breadcrumb arrow 开发者breadcrumb arrow HTTP APIbreadcrumb arrow 警报配置 HTTP API
Grafana Cloud Enterprise 开源

警报配置 HTTP API

警报配置 HTTP API 可用于创建、修改和删除与 Grafana 管理的警报相关的资源。此 API 是我们的 Grafana Terraform provider 使用的 API。

有关 Grafana 管理的警报和数据源管理的警报之间的差异的更多信息,请参阅警报规则介绍

如果您正在运行 Grafana Enterprise,您需要为某些端点添加特定权限。有关更多信息,请参阅基于角色的访问控制权限

Grafana 管理的端点

注意

在警报配置 HTTP API 中,端点使用的 JSON 格式与 export 端点返回的格式不同。

export 端点允许您以适合通过文件配置的 JSON 格式导出警报资源。但是,此格式不能用于通过 HTTP API 更新资源。

警报规则

方法URI名称摘要
DELETE/api/v1/provisioning/alert-rules/:uid路由 删除警报规则通过 UID 删除特定的警报规则。
GET/api/v1/provisioning/alert-rules/:uid路由 获取警报规则通过 UID 获取特定的警报规则。
POST/api/v1/provisioning/alert-rules路由 创建警报规则创建一个新的警报规则。
PUT/api/v1/provisioning/alert-rules/:uid路由 更新警报规则更新现有警报规则。
GET/api/v1/provisioning/alert-rules/:uid/export路由 导出警报规则以配置文件格式导出警报规则。
GET/api/v1/provisioning/folder/:folderUid/rule-groups/:group路由 获取警报规则组获取一个规则组。
PUT/api/v1/provisioning/folder/:folderUid/rule-groups/:group路由 更新警报规则组更新规则组的间隔或修改组的规则。
GET/api/v1/provisioning/folder/:folderUid/rule-groups/:group/export路由 导出警报规则组以配置文件格式导出警报规则组。
GET/api/v1/provisioning/alert-rules路由 获取所有警报规则获取所有警报规则。
GET/api/v1/provisioning/alert-rules/export路由 导出所有警报规则以配置文件格式导出所有警报规则。

新警报规则示例请求

http
POST /api/v1/provisioning/alert-rules
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "title": "TEST-API_1",
  "ruleGroup": "API",
  "folderUID": "SET_FOLDER_UID",
  "noDataState": "OK",
  "execErrState": "OK",
  "for": "5m",
  "orgId": 1,
  "uid": "",
  "condition": "B",
  "annotations": {
    "summary": "test_api_1"
  },
  "labels": {
    "API": "test1"
  },
  "data": [
    {
      "refId": "A",
      "queryType": "",
      "relativeTimeRange": {
        "from": 600,
        "to": 0
      },
      "datasourceUid": "XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX",
      "model": {
        "expr": "up",
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "A"
      }
    },
    {
      "refId": "B",
      "queryType": "",
      "relativeTimeRange": {
        "from": 0,
        "to": 0
      },
      "datasourceUid": "-100",
      "model": {
        "conditions": [
          {
            "evaluator": {
              "params": [6],
              "type": "gt"
            },
            "operator": {
              "type": "and"
            },
            "query": {
              "params": ["A"]
            },
            "reducer": {
              "params": [],
              "type": "last"
            },
            "type": "query"
          }
        ],
        "datasource": {
          "type": "__expr__",
          "uid": "-100"
        },
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "B",
        "type": "classic_conditions"
      }
    }
  ]
}

示例响应

http
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": 1,
  "uid": "XXXXXXXXX",
  "orgID": 1,
  "folderUID": "SET_FOLDER_UID",
  "ruleGroup": "API3",
  "title": "TEST-API_1",
  "condition": "B",
  "data": [
    {
      "refId": "A",
      "queryType": "",
      "relativeTimeRange": {
        "from": 600,
        "to": 0
      },
      "datasourceUid": "XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX",
      "model": {
        "expr": "up",
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "A"
      }
    },
    {
      "refId": "B",
      "queryType": "",
      "relativeTimeRange": {
        "from": 0,
        "to": 0
      },
      "datasourceUid": "-100",
      "model": {
        "conditions": [
          {
            "evaluator": {
              "params": [
                6
              ],
              "type": "gt"
            },
            "operator": {
              "type": "and"
            },
            "query": {
              "params": [
                "A"
              ]
            },
            "reducer": {
              "params": [],
              "type": "last"
            },
            "type": "query"
          }
        ],
        "datasource": {
          "type": "__expr__",
          "uid": "-100"
        },
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "B",
        "type": "classic_conditions"
      }
    }
  ],
  "updated": "2024-08-02T13:19:32.609640048Z",
  "noDataState": "OK",
  "execErrState": "OK",
  "for": "5m",
  "annotations": {
    "summary": "test_api_1"
  },
  "labels": {
    "API": "test1"
  },
  "provenance": "api",
  "isPaused": false,
  "notification_settings": null,
  "record": null
}

联系点

方法URI名称摘要
DELETE/api/v1/provisioning/contact-points/:uid路由 删除联系点删除一个联系点。
GET/api/v1/provisioning/contact-points路由 获取联系点获取所有联系点。
POST/api/v1/provisioning/contact-points路由 创建联系点创建一个联系点。
PUT/api/v1/provisioning/contact-points/:uid路由 更新联系点更新现有联系点。
GET/api/v1/provisioning/contact-points/export路由 导出联系点以配置文件格式导出所有联系点。

获取所有联系点示例请求

http
GET /api/v1/provisioning/contact-points
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

示例响应

http
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "uid": "",
    "name": "email receiver",
    "type": "email",
    "settings": {
      "addresses": "<example@email.com>"
    },
    "disableResolveMessage": false
  }
]

通知策略

方法URI名称摘要
DELETE/api/v1/provisioning/policies路由 重置策略树清除通知策略树。
GET/api/v1/provisioning/policies路由 获取策略树获取通知策略树。
PUT/api/v1/provisioning/policies路由 设置策略树设置通知策略树。
GET/api/v1/provisioning/policies/export路由 导出策略树以配置文件格式导出通知策略树。

以 YAML 格式导出通知策略树示例请求

http
GET /api/v1/provisioning/policies/export?format=yaml
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

示例响应

http
HTTP/1.1 200 OK
Content-Type: text/yaml

apiVersion: 1
policies:
    - orgId: 1
      receiver: My Contact Email Point
      group_by:
        - grafana_folder
        - alertname
      routes:
        - receiver: My Contact Email Point
          object_matchers:
            - - monitor
              - =
              - testdata
          mute_time_intervals:
            - weekends

通知模板组

模板组允许您在单个组中定义多个通知模板 ({{ define "" }})。它们可以通过 Grafana Alerting UI 进行管理。

方法URI名称摘要
DELETE/api/v1/provisioning/templates/:name路由 删除模板删除一个通知模板组。
GET/api/v1/provisioning/templates/:name路由 获取模板获取一个通知模板组。
GET/api/v1/provisioning/templates路由 获取模板获取所有通知模板组。
PUT/api/v1/provisioning/templates/:name路由 创建或更新模板创建或更新一个通知模板组。

获取所有通知模板组示例请求

http
GET /api/v1/provisioning/templates
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

示例响应

http
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "name": "custom_email.message",
    "template": "{{ define \"custom_email.message\" }}\n  Custom alert!\n{{ end }}",
    "provenance": "file"
  },
  {
    "name": "custom_email.subject",
    "template": "{{ define \"custom_email.subject\" }}\n{{ len .Alerts.Firing }} firing alert(s), {{ len .Alerts.Resolved }} resolved alert(s)\n{{ end }}",
    "provenance": "file"
  }
]

静默时间

方法URI名称摘要
DELETE/api/v1/provisioning/mute-timings/:name路由 删除静默时间删除一个静默时间。
GET/api/v1/provisioning/mute-timings/:name路由 获取静默时间获取一个静默时间。
GET/api/v1/provisioning/mute-timings路由 获取静默时间获取所有静默时间。
POST/api/v1/provisioning/mute-timings路由 创建静默时间创建一个新的静默时间。
PUT/api/v1/provisioning/mute-timings/:name路由 替换静默时间替换现有的静默时间。
GET/api/v1/provisioning/mute-timings/export路由 导出静默时间以配置文件格式导出所有静默时间。
GET/api/v1/provisioning/mute-timings/:name/export路由 导出静默时间以配置文件格式导出一个静默时间。

获取所有静默时间示例请求

http
GET /api/v1/provisioning/mute-timings
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

示例响应

http
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "name": "weekends",
    "time_intervals": [
      {
        "weekdays": [
          "saturday",
          "sunday"
        ]
      }
    ],
    "version": "",
    "provenance": "file"
  }
]

在 Grafana UI 中编辑资源

默认情况下,您无法在 Grafana 中编辑通过 API 配置的警报资源。

要在 Grafana UI 中启用编辑这些资源,请在以下 API 请求中添加 X-Disable-Provenance: true 头信息

  • POST /api/v1/provisioning/alert-rules

  • PUT /api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group} (此端点会更改警报组中所有警报规则的来源)

  • POST /api/v1/provisioning/contact-points

  • POST /api/v1/provisioning/mute-timings

  • PUT /api/v1/provisioning/templates/{name}

  • PUT /api/v1/provisioning/policies

要将通知策略树重置为默认值并在 Grafana UI 中解除编辑锁定,请使用

  • DELETE /api/v1/provisioning/policies

数据源管理的资源

警报配置 HTTP API 只能用于管理 Grafana 管理的警报资源。要管理与数据源管理的警报相关的资源,请考虑以下工具

  • mimirtool:用于与 Mimir alertmanager 和 ruler 配置交互。
  • cortex-tools:用于与 Cortex alertmanager 和 ruler 配置交互。
  • lokitool:用于配置 Loki Ruler。

此外,Grafana Alerting API 可用于访问数据源管理的警报数据。此 API 主要用于内部使用,/api/v1/provisioning/ 端点除外。请务必注意,内部 API 可能会在不事先通知的情况下发生变化,并且不正式支持用户使用。

对于 Prometheus,也可以使用 amtoolAlertManager API 交互。

路径

通过 UID 删除特定的警报规则。(RouteDeleteAlertRule)

DELETE /api/v1/provisioning/alert-rules/:uid

参数

名称类型Go 类型必需默认描述
UID路径stringstring警报规则 UID
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源

所有响应

状态码状态描述包含 headersSchema
204无内容警报规则已成功删除。schema

响应

204 - 警报规则已成功删除。

状态: 无内容

Schema

删除一个联系点。(RouteDeleteContactpoints)

DELETE /api/v1/provisioning/contact-points/:uid

参数

名称类型Go 类型必需默认描述
UID路径stringstringUID 是联系点的唯一标识符

所有响应

状态码状态描述包含 headersSchema
204无内容联系点已成功删除。schema

响应

204 - 联系点已成功删除。

状态: 无内容

Schema

删除一个静默时间。(RouteDeleteMuteTiming)

DELETE /api/v1/provisioning/mute-timings/:name

参数

名称类型Go 类型必需默认描述
name路径stringstring静默时间名称
versionquerystringstring资源的当前版本。用于乐观并发验证。留空以绕过验证。

所有响应

状态码状态描述包含 headersSchema
204无内容静默时间已成功删除。schema
409冲突GenericPublicErrorschema

响应

204 - 静默时间已成功删除。

状态: 无内容

Schema
409 - 冲突

状态: 冲突

Schema

GenericPublicError

删除一个通知模板组。(RouteDeleteTemplate)

DELETE /api/v1/provisioning/templates/:name

参数

名称类型Go 类型必需默认描述
name路径stringstring模板组名称
versionquerystringstring资源的当前版本。用于乐观并发验证。留空以绕过验证。

所有响应

状态码状态描述包含 headersSchema
204无内容模板已成功删除。schema
409冲突GenericPublicErrorschema

响应

204 - 模板已成功删除。

状态: 无内容

Schema
409 - 冲突

状态: 冲突

Schema

GenericPublicError

通过 UID 获取特定的警报规则。(RouteGetAlertRule)

GET /api/v1/provisioning/alert-rules/:uid

参数

名称类型Go 类型必需默认描述
UID路径stringstring警报规则 UID

所有响应

状态码状态描述包含 headersSchema
200成功ProvisionedAlertRuleschema
404未找到未找到。schema

响应

200 - ProvisionedAlertRule

状态: 成功

Schema

ProvisionedAlertRule

404 - 未找到。

状态: 未找到

Schema

以配置文件格式导出警报规则。(RouteGetAlertRuleExport)

GET /api/v1/provisioning/alert-rules/:uid/export

输出格式

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

这些输出用于文件配置Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。

参数

名称类型Go 类型必需默认描述
UID路径stringstring警报规则 UID
downloadquerybooleanbool是否启动文件下载。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept header,但查询参数优先。

所有响应

状态码状态描述包含 headersSchema
200成功AlertingFileExportschema
404未找到未找到。schema

响应

200 - AlertingFileExport

状态: 成功

Schema

AlertingFileExport

404 - 未找到。

状态: 未找到

Schema

获取一个规则组。(RouteGetAlertRuleGroup)

GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group

参数

名称类型Go 类型必需默认描述
FolderUID路径stringstring
Group路径stringstring

所有响应

状态码状态描述包含 headersSchema
200成功AlertRuleGroupschema
404未找到未找到。schema

响应

200 - AlertRuleGroup

状态: 成功

Schema

AlertRuleGroup

404 - 未找到。

状态: 未找到

Schema

以配置文件格式导出警报规则组。(RouteGetAlertRuleGroupExport)

GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export

输出格式

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

这些输出用于文件配置Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。

参数

名称类型Go 类型必需默认描述
FolderUID路径stringstring
Group路径stringstring
downloadquerybooleanbool是否启动文件下载。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept header,但查询参数优先。

所有响应

状态码状态描述包含 headersSchema
200成功AlertingFileExportschema
404未找到未找到。schema

响应

200 - AlertingFileExport

状态: 成功

Schema

AlertingFileExport

404 - 未找到。

状态: 未找到

Schema

获取所有警报规则。(RouteGetAlertRules)

GET /api/v1/provisioning/alert-rules

所有响应

状态码状态描述包含 headersSchema
200成功ProvisionedAlertRulesschema

响应

200 - ProvisionedAlertRules

状态: 成功

Schema

ProvisionedAlertRules

以配置文件格式导出所有警报规则。(RouteGetAlertRulesExport)

GET /api/v1/provisioning/alert-rules/export

输出格式

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

这些输出用于文件配置Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。

参数

名称类型Go 类型必需默认描述
downloadquerybooleanbool是否启动文件下载。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept header,但查询参数优先。

所有响应

状态码状态描述包含 headersSchema
200成功AlertingFileExportschema
404未找到未找到。schema

响应

200 - AlertingFileExport

状态: 成功

Schema

AlertingFileExport

404 - 未找到。

状态: 未找到

Schema

获取所有联系点。(RouteGetContactpoints)

GET /api/v1/provisioning/contact-points

参数

名称类型Go 类型必需默认描述
namequerystringstring按名称过滤

所有响应

状态码状态描述包含 headersSchema
200成功ContactPointsschema

响应

200 - ContactPoints

状态: 成功

Schema

ContactPoints

以配置文件格式导出所有联系点。(RouteGetContactpointsExport)

GET /api/v1/provisioning/contact-points/export

输出格式

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

这些输出用于文件配置Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。

参数

名称类型Go 类型必需默认描述
decryptquerybooleanbool是否应解密包含的任何安全设置,或保留 redacted(已删减)。Redacted 设置将包含 RedactedValue。目前,只有组织管理员可以查看解密后的安全设置。
downloadquerybooleanbool是否启动文件下载。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept header,但查询参数优先。
namequerystringstring按名称过滤

所有响应

状态码状态描述包含 headersSchema
200成功AlertingFileExportschema
403禁止访问PermissionDeniedschema

响应

200 - AlertingFileExport

状态: 成功

Schema

AlertingFileExport

403 - PermissionDenied

状态: 禁止访问

Schema

PermissionDenied

获取一个静默时间。(RouteGetMuteTiming)

GET /api/v1/provisioning/mute-timings/:name

参数

名称类型Go 类型必需默认描述
name路径stringstring静默时间名称

所有响应

状态码状态描述包含 headersSchema
200成功MuteTimeIntervalschema
404未找到未找到。schema

响应

200 - MuteTimeInterval

状态: 成功

Schema

MuteTimeInterval

404 - 未找到。

状态: 未找到

Schema

获取所有静默时间。(RouteGetMuteTimings)

GET /api/v1/provisioning/mute-timings

所有响应

状态码状态描述包含 headersSchema
200成功MuteTimingsschema

响应

200 - MuteTimings

状态: 成功

模式

MuteTimings

以 provisioning 文件格式导出所有静默时间。(RouteGetMuteTimingsExport)

GET /api/v1/provisioning/mute-timings/export

输出格式

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

这些输出用于文件配置Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。

参数

名称类型Go 类型必需默认描述
downloadquerybooleanbool是否启动文件下载。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept header,但查询参数优先。

所有响应

状态码状态描述包含 headersSchema
200成功MuteTimingsExportschema
403禁止访问PermissionDeniedschema

响应

200 - MuteTimingsExport

状态: 成功

模式

AlertingFileExport

403 - 权限被拒绝

状态: 禁止访问

模式

PermissionDenied

以 provisioning 文件格式导出静默时间。(RouteGetMuteTimingExport)

GET /api/v1/provisioning/mute-timings/:name/export

输出格式

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

这些输出用于文件配置Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。

参数

名称类型Go 类型必需默认描述
name路径stringstring静默时间名称。
downloadquerybooleanbool是否启动文件下载。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept header,但查询参数优先。

所有响应

状态码状态描述包含 headersSchema
200成功MuteTimingExportschema
403禁止访问PermissionDeniedschema

响应

200 - MuteTimingExport

状态: 成功

模式

AlertingFileExport

403 - 权限被拒绝

状态: 禁止访问

模式

PermissionDenied

获取通知策略树。(RouteGetPolicyTree)

GET /api/v1/provisioning/policies

所有响应

状态码状态描述包含 headersSchema
200成功Routeschema

响应

200 - Route

状态: 成功

模式

Route

以 provisioning 文件格式导出通知策略树。(RouteGetPolicyTreeExport)

GET /api/v1/provisioning/policies/export

输出格式

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

这些输出用于文件配置Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。

参数

名称类型Go 类型必需默认描述
downloadquerybooleanbool是否启动文件下载。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept header,但查询参数优先。

所有响应

状态码状态描述包含 headersSchema
200成功AlertingFileExportschema
404未找到NotFoundschema

响应

200 - AlertingFileExport

状态: 成功

模式

AlertingFileExport

404 - 未找到

状态: 未找到

模式

NotFound

获取通知模板组。(RouteGetTemplate)

GET /api/v1/provisioning/templates/:name

参数

名称类型Go 类型必需默认描述
name路径stringstring模板组名称

所有响应

状态码状态描述包含 headersSchema
200成功NotificationTemplateschema
404未找到GenericPublicErrorschema

响应

200 - NotificationTemplate

状态: 成功

模式

NotificationTemplate

404 - 未找到。

GenericPublicError

模式

获取所有通知模板组。(RouteGetTemplates)

GET /api/v1/provisioning/templates

所有响应

状态码状态描述包含 headersSchema
200成功NotificationTemplatesschema

响应

200 - NotificationTemplates

状态: 成功

模式

NotificationTemplates

创建新的告警规则。(RoutePostAlertRule)

POST /api/v1/provisioning/alert-rules

参数

名称类型Go 类型必需默认描述
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyProvisionedAlertRulemodels.ProvisionedAlertRule

所有响应

状态码状态描述包含 headersSchema
201已创建ProvisionedAlertRuleschema
400错误请求ValidationErrorschema

响应

201 - ProvisionedAlertRule

状态:已创建

模式

ProvisionedAlertRule

400 - ValidationError

状态:错误请求

模式

ValidationError

创建联系点。(RoutePostContactpoints)

POST /api/v1/provisioning/contact-points

创建联系点时,EmbeddedContactPoint.name 属性决定是否将新联系点添加到现有联系点中。在 UI 中,同名的联系点会分组到单个联系点下。

参数

名称类型Go 类型必需默认描述
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyEmbeddedContactPointmodels.EmbeddedContactPoint

所有响应

状态码状态描述包含 headersSchema
202已接受EmbeddedContactPointschema
400错误请求ValidationErrorschema

响应

202 - EmbeddedContactPoint

状态:已接受

模式

EmbeddedContactPoint

400 - ValidationError

状态:错误请求

模式

ValidationError

创建新的静默时间。(RoutePostMuteTiming)

POST /api/v1/provisioning/mute-timings

参数

名称类型Go 类型必需默认描述
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyMuteTimeIntervalmodels.MuteTimeInterval

所有响应

状态码状态描述包含 headersSchema
201已创建MuteTimeIntervalschema
400错误请求ValidationErrorschema

响应

201 - MuteTimeInterval

状态:已创建

模式

MuteTimeInterval

400 - ValidationError

状态:错误请求

模式

ValidationError

更新现有告警规则。(RoutePutAlertRule)

PUT /api/v1/provisioning/alert-rules/:uid

参数

名称类型Go 类型必需默认描述
UID路径stringstring警报规则 UID
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyProvisionedAlertRulemodels.ProvisionedAlertRule

所有响应

状态码状态描述包含 headersSchema
200成功ProvisionedAlertRuleschema
400错误请求ValidationErrorschema

响应

200 - ProvisionedAlertRule

状态: 成功

模式

ProvisionedAlertRule

400 - ValidationError

状态:错误请求

模式

ValidationError

更新规则组的间隔或告警规则。(RoutePutAlertRuleGroup)

PUT /api/v1/provisioning/folder/:folderUid/rule-groups/:group

参数

名称类型Go 类型必需默认描述
FolderUID路径stringstring
Group路径stringstring
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyAlertRuleGroupmodels.AlertRuleGroup此操作是幂等的,此正文中包含的规则将覆盖该组的已配置规则

所有响应

状态码状态描述包含 headersSchema
200成功AlertRuleGroupschema
400错误请求ValidationErrorschema

响应

200 - AlertRuleGroup

状态: 成功

模式

AlertRuleGroup

400 - ValidationError

状态:错误请求

模式

ValidationError

更新现有联系点。(RoutePutContactpoint)

PUT /api/v1/provisioning/contact-points/:uid

参数

名称类型Go 类型必需默认描述
UID路径stringstringUID 是联系点的唯一标识符
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyEmbeddedContactPointmodels.EmbeddedContactPoint

所有响应

状态码状态描述包含 headersSchema
202已接受Ackschema
400错误请求ValidationErrorschema

响应

202 - Ack

状态:已接受

模式

Ack

400 - ValidationError

状态:错误请求

模式

ValidationError

替换现有静默时间。(RoutePutMuteTiming)

PUT /api/v1/provisioning/mute-timings/:name

参数

名称类型Go 类型必需默认描述
name路径stringstring静默时间名称
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyMuteTimeIntervalmodels.MuteTimeInterval

所有响应

状态码状态描述包含 headersSchema
200成功MuteTimeIntervalschema
400错误请求ValidationErrorschema
409冲突GenericPublicErrorschema

响应

200 - MuteTimeInterval

状态: 成功

模式

MuteTimeInterval

400 - ValidationError

状态:错误请求

模式

ValidationError

409 - 冲突

状态: 冲突

模式

GenericPublicError

设置通知策略树。(RoutePutPolicyTree)

警告

由于策略树是单个资源,因此配置它将覆盖通知策略树中的所有策略。但是,这不会影响告警规则直接选择联系点时创建的内部策略。

PUT /api/v1/provisioning/policies

参数

名称类型Go 类型必需默认描述
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyRoutemodels.Route要使用的新通知路由树

所有响应

状态码状态描述包含 headersSchema
202已接受Ackschema
400错误请求ValidationErrorschema

响应

202 - Ack

状态:已接受

模式

Ack

400 - ValidationError

状态:错误请求

模式

ValidationError

创建或更新通知模板组。(RoutePutTemplate)

PUT /api/v1/provisioning/templates/:name

参数

名称类型Go 类型必需默认描述
name路径stringstring模板组名称
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑已配置的资源
BodybodyNotificationTemplateContentmodels.NotificationTemplateContent

所有响应

状态码状态描述包含 headersSchema
202已接受NotificationTemplateschema
400错误请求GenericPublicErrorschema
409冲突GenericPublicErrorschema

响应

202 - NotificationTemplate

状态:已接受

模式

NotificationTemplate

400 - ValidationError

状态:错误请求

模式

GenericPublicError

409 - 冲突

状态: 冲突

模式

GenericPublicError

清除通知策略树。(RouteResetPolicyTree)

DELETE /api/v1/provisioning/policies

所有响应

状态码状态描述包含 headersSchema
202已接受Ackschema

响应

202 - Ack

状态:已接受

模式

Ack

模型

Ack

interface{}

AlertQuery

属性

名称类型Go 类型必需默认描述示例
datasourceUidstringstringGrafana 数据源唯一标识符;对于 Server Side Expression 操作,它应该是 'expr'。
modelinterface{}interface{}JSON 是原始 JSON 查询,包含上述属性以及自定义属性。
queryTypestringstringQueryType 是查询类型的可选标识符。它可以用于区分不同类型的查询。
refIdstringstringRefID 是查询的唯一标识符,由前端调用设置。
relativeTimeRangeRelativeTimeRangeRelativeTimeRange

AlertQueryExport

属性

名称类型Go 类型必需默认描述示例
datasourceUidstringstring
modelinterface{}interface{}
queryTypestringstring
refIdstringstring
relativeTimeRangeRelativeTimeRangeRelativeTimeRange

AlertRuleExport

属性

名称类型Go 类型必需默认描述示例
annotations字符串映射map[string]string
conditionstringstring
dashboardUidstringstring
data[] AlertQueryExport[]*AlertQueryExport
execErrStatestringstring
forDurationDuration
isPausedbooleanbool
labels字符串映射map[string]string
noDataStatestringstring
panelIdint64 (格式化整数)int64
titlestringstring
uidstringstring

AlertRuleGroup

属性

名称类型Go 类型必需默认描述示例
folderUidstringstring
intervalint64 (格式化整数)int64
rules[] ProvisionedAlertRule[]*ProvisionedAlertRule
titlestringstring

AlertRuleGroupExport

属性

名称类型Go 类型必需默认描述示例
folderstringstring
intervalDurationDuration
namestringstring
orgIdint64 (格式化整数)int64
rules[] AlertRuleExport[]*AlertRuleExport

AlertingFileExport

属性

名称类型Go 类型必需默认描述示例
apiVersionint64 (格式化整数)int64
contactPoints[] ContactPointExport[]*ContactPointExport
groups[] AlertRuleGroupExport[]*AlertRuleGroupExport
policies[] NotificationPolicyExport[]*NotificationPolicyExport

ContactPointExport

属性

名称类型Go 类型必需默认描述示例
namestringstring
orgIdint64 (格式化整数)int64
receivers[] ReceiverExport[]*ReceiverExport

ContactPoints

[] EmbeddedContactPoint

Duration

名称类型Go 类型默认描述示例
Durationstringint64

EmbeddedContactPoint

EmbeddedContactPoint 是 Grafana 管理的告警使用的联系点类型。

创建联系点时,EmbeddedContactPoint.name 属性决定是否将新联系点添加到现有联系点中。在 UI 中,同名的联系点会分组到单个联系点下。

属性

名称类型Go 类型必需默认描述示例
disableResolveMessagebooleanboolfalse
namestringstringname 在 UI 中将多个同名联系点分组在一起。webhook_1
provenancestringstring
settingsJSONJSON
typestringstringwebhook
uidstringstringUID 是联系点的唯一标识符。UID 可以由用户设置。my_external_reference

Json

interface{}

MatchRegexps

MatchRegexps

MatchType

名称类型Go 类型默认描述示例
MatchTypeint64 (格式化整数)int64

Matcher

属性

名称类型Go 类型必需默认描述示例
名称stringstring
类型MatchTypeMatchType
Valuestringstring

Matchers

Matchers 是一个 Matcher 切片,可排序,实现 Stringer 接口,并提供 Matches 方法来针对切片中的所有 Matcher 匹配 LabelSet。请注意,Matchers 的某些用户可能要求它已排序。

[] Matcher

MuteTimeInterval

属性

名称类型Go 类型必需默认描述示例
namestringstring
time_intervals[] TimeInterval[]*TimeInterval
versionstringstring资源版本

MuteTimingExport

属性

MuteTimingsExport

属性

MuteTimings

[] MuteTimeInterval

NotFound

interface{}

NotificationPolicyExport

属性

名称类型Go 类型必需默认描述示例
PolicyRouteExportRouteExportinline
orgIdint64 (格式化整数)int64

NotificationTemplate

属性

名称类型Go 类型必需默认描述示例
namestringstring
provenanceProvenanceProvenance
templatestringstring
versionstringstring资源版本

NotificationTemplateContent

属性

名称类型Go 类型必需默认描述示例
templatestringstring
versionstringstring资源版本。对于新模板应为空。

NotificationTemplates

[] NotificationTemplate

ObjectMatchers

Matchers

内联模型

PermissionDenied

interface{}

Provenance

名称类型Go 类型默认描述示例
Provenancestringstring

ProvisionedAlertRule

属性

名称类型Go 类型必需默认描述示例
annotations字符串映射map[string]string可选的键值对。__dashboardUid____panelId__ 必须一起设置;不能单独设置其中一个。{"runbook_url":"https://supercoolrunbook.com/page/13"}
conditionstringstringA
data[] AlertQuery[]*AlertQuery[{"datasourceUid":"__expr__","model":{"conditions":[{"evaluator":{"params":[0,0],"type":"gt"},"operator":{"type":"and"},"query":{"params":[]},"reducer":{"params":[],"type":"avg"},"type":"query"}],"datasource":{"type":"__expr__","uid":"__expr__"},"expression":"1 == 1","hide":false,"intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"},"queryType":"","refId":"A","relativeTimeRange":{"from":0,"to":0}}]
execErrStatestringstring
folderUIDstringstringproject_x
forDurationDuration
idint64 (格式化整数)int64
isPausedbooleanboolfalse
labels字符串映射map[string]string{"team":"sre-team-1"}
noDataStatestringstring
orgIDint64 (格式化整数)`int64
provenanceProvenanceProvenance
ruleGroupstringstringeval_group_1
titlestringstringAlways firing
uidstringstring
updateddate-time (格式化字符串)strfmt.DateTime

ProvisionedAlertRules

[] ProvisionedAlertRule

RawMessage

interface{}

ReceiverExport

属性

名称类型Go 类型必需默认描述示例
disableResolveMessagebooleanbool
settingsRawMessageRawMessage
typestringstring
uidstringstring

Regexp

Regexp 对多个 goroutine 并发使用是安全的,配置方法除外,例如 Longest。

interface{}

RelativeTimeRange

RelativeTimeRange 是请求的每个查询的开始时间和结束时间。

属性

名称类型Go 类型必需默认描述示例
fromDurationDuration
toDurationDuration

Route

Route 是一个包含如何处理告警定义的节点。与上游 alertmanager 不同,它增加了 ObjectMatchers 属性。

属性

名称类型Go 类型必需默认描述示例
continuebooleanbool
group_by[]string[]string
group_intervalstringstring
group_waitstringstring
match字符串映射map[string]string已弃用。在 v1.0 版本发布前移除。
match_reMatchRegexpsMatchRegexps
matchersMatchersMatchers
mute_time_intervals[]string[]string
object_matchersObjectMatchersObjectMatchers
provenanceProvenanceProvenance
receiverstringstring
repeat_intervalstringstring
routes[] Route[]*Route

RouteExport

RouteExport 是 definitions.Route 的 provisioning 文件导出。需要它来隐藏在 provisioning 文件格式中不可用的字段。另一种方法是定义自定义的 MarshalJSON 和 MarshalYAML 来排除它们。

属性

名称类型Go 类型必需默认描述示例
continuebooleanbool
group_by[]string[]string
group_intervalstringstring
group_waitstringstring
match字符串映射map[string]string已弃用。在 v1.0 版本发布前移除。
match_reMatchRegexpsMatchRegexps
matchersMatchersMatchers
mute_time_intervals[]string[]string
object_matchersObjectMatchersObjectMatchers
receiverstringstring
repeat_intervalstringstring
routes[] RouteExport[]*RouteExport

TimeInterval

TimeInterval 描述时间间隔。ContainsTime 将告诉你一个 golang 时间是否包含在该间隔内。

属性

名称类型Go 类型必需默认描述示例
days_of_month[]string[]string
locationstringstring
months[]string[]string
times[] TimeRange[]*TimeRange
weekdays[]string[]string
years[]string[]string

TimeRange

例如,下午 4:00 到一天结束将从 1020 开始,在 1440 结束。

属性

名称类型Go 类型必需默认描述示例
end_timestringstring"end_time": "24:00"
start_timestringstring"start_time": "18:00"

ValidationError

属性

名称类型Go 类型必需默认描述示例
msgstringstring错误消息

GenericPublicError

属性

名称类型Go 类型必需默认描述示例
statusCodestringstringHTTP 状态码
messageIdstringstring错误的唯一代码
messagestringstring错误消息
extra任意类型映射map[string]any关于错误的额外信息。格式特定于错误代码。