菜单
文档breadcrumb arrow Grafana 文档breadcrumb arrow 告警breadcrumb arrow 附加配置breadcrumb arrow 预置告警资源breadcrumb arrow 使用 HTTP API 管理告警资源
Grafana Cloud Enterprise 开源 RSS

使用 HTTP API 管理告警资源

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

有关 Grafana 管理的告警和数据源管理的告警之间区别的更多信息,请参阅告警规则简介

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

Grafana 管理的端点

注意

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

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

告警规则

方法URI名称摘要
DELETE/api/v1/provisioning/alert-rules/:uidroute delete alert rule通过 UID 删除特定的告警规则。
GET/api/v1/provisioning/alert-rules/:uidroute get alert rule通过 UID 获取特定的告警规则。
POST/api/v1/provisioning/alert-rulesroute post alert rule创建新的告警规则。
PUT/api/v1/provisioning/alert-rules/:uidroute put alert rule更新现有告警规则。
GET/api/v1/provisioning/alert-rules/:uid/exportroute get alert rule export以预置文件格式导出告警规则。
GET/api/v1/provisioning/folder/:folderUid/rule-groups/:grouproute get alert rule group获取规则组。
PUT/api/v1/provisioning/folder/:folderUid/rule-groups/:grouproute put alert rule group更新规则组的间隔或修改组的规则。
GET/api/v1/provisioning/folder/:folderUid/rule-groups/:group/exportroute get alert rule group export以预置文件格式导出告警规则组。
GET/api/v1/provisioning/alert-rulesroute get alert rules获取所有告警规则。
GET/api/v1/provisioning/alert-rules/exportroute get 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/:uidroute delete contactpoints删除联系点。
GET/api/v1/provisioning/contact-pointsroute get contactpoints获取所有联系点。
POST/api/v1/provisioning/contact-pointsroute post contactpoints创建联系点。
PUT/api/v1/provisioning/contact-points/:uidroute put contactpoint更新现有联系点。
GET/api/v1/provisioning/contact-points/exportroute get contactpoints 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/policiesroute reset policy tree清除通知策略树。
GET/api/v1/provisioning/policiesroute get policy tree获取通知策略树。
PUT/api/v1/provisioning/policiesroute put policy tree设置通知策略树。
GET/api/v1/provisioning/policies/exportroute get policy tree 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/:nameroute delete template删除通知模板组。
GET/api/v1/provisioning/templates/:nameroute get template获取通知模板组。
GET/api/v1/provisioning/templatesroute get template获取所有通知模板组。
PUT/api/v1/provisioning/templates/:nameroute put template创建或更新通知模板组。

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

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/:nameroute delete mute timing删除静默时间。
GET/api/v1/provisioning/mute-timings/:nameroute get mute timing获取静默时间。
GET/api/v1/provisioning/mute-timingsroute get mute timings获取所有静默时间。
POST/api/v1/provisioning/mute-timingsroute post mute timing创建新的静默时间。
PUT/api/v1/provisioning/mute-timings/:nameroute put mute timing替换现有静默时间。
GET/api/v1/provisioning/mute-timings/exportroute get mute timings export以预置文件格式导出所有静默时间。
GET/api/v1/provisioning/mute-timings/:name/exportroute get mute timing 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 类型必需默认值描述
UIDpathstringstring告警规则 UID
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑预置的资源

所有响应

代码状态描述包含标头Schema
204无内容告警规则删除成功。schema

响应

204 - 告警规则删除成功。

状态:无内容

Schema

删除联系点。(RouteDeleteContactpoints)

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

参数

名称来源类型Go 类型必需默认值描述
UIDpathstringstringUID 是联系点的唯一标识符

所有响应

代码状态描述包含标头Schema
204无内容联系点删除成功。schema

响应

204 - 联系点删除成功。

状态:无内容

Schema

删除静默时间。(RouteDeleteMuteTiming)

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

参数

名称来源类型Go 类型必需默认值描述
namepathstringstring静默时间名称
versionquerystringstring资源的当前版本。用于乐观并发验证。留空以跳过验证。

所有响应

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

响应

204 - 静默时间删除成功。

状态:无内容

Schema
409 - 冲突

状态:冲突

Schema

GenericPublicError

删除通知模板组。(RouteDeleteTemplate)

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

参数

名称来源类型Go 类型必需默认值描述
namepathstringstring模板组名称
versionquerystringstring资源的当前版本。用于乐观并发验证。留空以跳过验证。

所有响应

代码状态描述包含标头Schema
204无内容模板删除成功。schema
409冲突GenericPublicErrorschema

响应

204 - 模板删除成功。

状态:无内容

Schema
409 - 冲突

状态:冲突

Schema

GenericPublicError

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

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

参数

名称来源类型Go 类型必需默认值描述
UIDpathstringstring告警规则 UID

所有响应

代码状态描述包含标头Schema
200OKProvisionedAlertRuleschema
404未找到未找到。schema

响应

200 - ProvisionedAlertRule

状态:OK

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 类型必需默认值描述
UIDpathstringstring告警规则 UID
downloadquerybooleanbool是否开始下载文件。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept 标头,但查询参数优先。

所有响应

代码状态描述包含标头Schema
200OKAlertingFileExportschema
404未找到未找到。schema

响应

200 - AlertingFileExport

状态:OK

Schema

AlertingFileExport

404 - 未找到。

状态:未找到

Schema

获取规则组。(RouteGetAlertRuleGroup)

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

参数

名称来源类型Go 类型必需默认值描述
FolderUIDpathstringstring
Grouppathstringstring

所有响应

代码状态描述包含标头Schema
200OKAlertRuleGroupschema
404未找到未找到。schema

响应

200 - AlertRuleGroup

状态:OK

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 类型必需默认值描述
FolderUIDpathstringstring
Grouppathstringstring
downloadquerybooleanbool是否开始下载文件。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept 标头,但查询参数优先。

所有响应

代码状态描述包含标头Schema
200OKAlertingFileExportschema
404未找到未找到。schema

响应

200 - AlertingFileExport

状态:OK

Schema

AlertingFileExport

404 - 未找到。

状态:未找到

Schema

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

GET /api/v1/provisioning/alert-rules

所有响应

代码状态描述包含标头Schema
200OKProvisionedAlertRulesschema

响应

200 - ProvisionedAlertRules

状态:OK

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 标头,但查询参数优先。

所有响应

代码状态描述包含标头Schema
200OKAlertingFileExportschema
404未找到未找到。schema

响应

200 - AlertingFileExport

状态:OK

Schema

AlertingFileExport

404 - 未找到。

状态:未找到

Schema

获取所有联系点。(RouteGetContactpoints)

GET /api/v1/provisioning/contact-points

参数

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

所有响应

代码状态描述包含标头Schema
200OKContactPointsschema

响应

200 - ContactPoints

状态:OK

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是否解密包含的任何安全设置,还是保持匿名。匿名设置将包含 RedactedValue。目前,只有组织管理员可以查看解密后的安全设置。
downloadquerybooleanbool是否开始下载文件。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept 标头,但查询参数优先。
namequerystringstring按名称过滤

所有响应

代码状态描述包含标头Schema
200OKAlertingFileExportschema
403禁止访问PermissionDeniedschema

响应

200 - AlertingFileExport

状态:OK

Schema

AlertingFileExport

403 - PermissionDenied

状态:禁止访问

Schema

PermissionDenied

获取静默时间。(RouteGetMuteTiming)

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

参数

名称来源类型Go 类型必需默认值描述
namepathstringstring静默时间名称

所有响应

代码状态描述包含标头Schema
200OKMuteTimeIntervalschema
404未找到未找到。schema

响应

200 - MuteTimeInterval

状态:OK

Schema

MuteTimeInterval

404 - 未找到。

状态:未找到

Schema

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

GET /api/v1/provisioning/mute-timings

所有响应

代码状态描述包含标头Schema
200OKMuteTimingsschema

响应

200 - MuteTimings

状态:OK

Schema

MuteTimings

以预置文件格式导出所有静默时间。(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 标头,但查询参数优先。

所有响应

代码状态描述包含标头Schema
200OKMuteTimingsExportschema
403禁止访问PermissionDeniedschema

响应

200 - MuteTimingsExport

状态:OK

Schema

AlertingFileExport

403 - PermissionDenied

状态:禁止访问

Schema

PermissionDenied

以预置文件格式导出静默时间。(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 类型必需默认值描述
namepathstringstring静默时间名称。
downloadquerybooleanbool是否开始下载文件。
formatquerystringstringyaml下载文件的格式,可以是 yaml, jsonhcl。也可以使用 Accept 标头,但查询参数优先。

所有响应

代码状态描述包含标头Schema
200OKMuteTimingExportschema
403禁止访问PermissionDeniedschema

响应

200 - MuteTimingExport

状态:OK

Schema

AlertingFileExport

403 - PermissionDenied

状态:禁止访问

Schema

PermissionDenied

获取通知策略树。(RouteGetPolicyTree)

GET /api/v1/provisioning/policies

所有响应

代码状态描述包含标头Schema
200OKRouteschema

响应

200 - Route

状态:OK

Schema

Route

以预置文件格式导出通知策略树。(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 标头,但查询参数优先。

所有响应

代码状态描述包含标头Schema
200OKAlertingFileExportschema
404未找到未找到schema

响应

200 - AlertingFileExport

状态:OK

Schema

AlertingFileExport

404 - NotFound

状态:未找到

Schema

未找到

获取通知模板组。(RouteGetTemplate)

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

参数

名称来源类型Go 类型必需默认值描述
namepathstringstring模板组名称

所有响应

代码状态描述包含标头Schema
200OKNotificationTemplateschema
404未找到GenericPublicErrorschema

响应

200 - NotificationTemplate

状态:OK

Schema

NotificationTemplate

404 - 未找到。

GenericPublicError

Schema

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

GET /api/v1/provisioning/templates

所有响应

代码状态描述包含标头Schema
200OKNotificationTemplatesschema

响应

200 - NotificationTemplates

状态:OK

Schema

NotificationTemplates

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

POST /api/v1/provisioning/alert-rules

参数

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

所有响应

代码状态描述包含标头Schema
201已创建ProvisionedAlertRuleschema
400错误请求ValidationErrorschema

响应

201 - ProvisionedAlertRule

状态:已创建

Schema

ProvisionedAlertRule

400 - ValidationError

状态:错误请求

Schema

ValidationError

创建联系点。(RoutePostContactpoints)

POST /api/v1/provisioning/contact-points

创建联系点时,EmbeddedContactPoint.name 属性决定新联系点是添加到现有联系点中。在 UI 中,同名的联系点会归类到同一个联系点下。

参数

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

所有响应

代码状态描述包含标头Schema
202已接受EmbeddedContactPointschema
400错误请求ValidationErrorschema

响应

202 - EmbeddedContactPoint

状态:已接受

Schema

EmbeddedContactPoint

400 - ValidationError

状态:错误请求

Schema

ValidationError

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

POST /api/v1/provisioning/mute-timings

参数

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

所有响应

代码状态描述包含标头Schema
201已创建MuteTimeIntervalschema
400错误请求ValidationErrorschema

响应

201 - MuteTimeInterval

状态:已创建

Schema

MuteTimeInterval

400 - ValidationError

状态:错误请求

Schema

ValidationError

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

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

参数

名称来源类型Go 类型必需默认值描述
UIDpathstringstring告警规则 UID
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑预置的资源
BodybodyProvisionedAlertRulemodels.ProvisionedAlertRule

所有响应

代码状态描述包含标头Schema
200OKProvisionedAlertRuleschema
400错误请求ValidationErrorschema

响应

200 - ProvisionedAlertRule

状态:OK

Schema

ProvisionedAlertRule

400 - ValidationError

状态:错误请求

Schema

ValidationError

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

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

参数

名称来源类型Go 类型必需默认值描述
FolderUIDpathstringstring
Grouppathstringstring
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑预置的资源
BodybodyAlertRuleGroupmodels.AlertRuleGroup此操作是幂等的,此 body 中包含的规则将覆盖该组已配置的规则。

所有响应

代码状态描述包含标头Schema
200OKAlertRuleGroupschema
400错误请求ValidationErrorschema

响应

200 - AlertRuleGroup

状态:OK

Schema

AlertRuleGroup

400 - ValidationError

状态:错误请求

Schema

ValidationError

更新现有联系点。(RoutePutContactpoint)

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

参数

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

所有响应

代码状态描述包含标头Schema
202已接受Ackschema
400错误请求ValidationErrorschema

响应

202 - Ack

状态:已接受

Schema

Ack

400 - ValidationError

状态:错误请求

Schema

ValidationError

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

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

参数

名称来源类型Go 类型必需默认值描述
namepathstringstring静默时间名称
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑预置的资源
BodybodyMuteTimeIntervalmodels.MuteTimeInterval

所有响应

代码状态描述包含标头Schema
200OKMuteTimeIntervalschema
400错误请求ValidationErrorschema
409冲突GenericPublicErrorschema

响应

200 - MuteTimeInterval

状态:OK

Schema

MuteTimeInterval

400 - ValidationError

状态:错误请求

Schema

ValidationError

409 - 冲突

状态:冲突

Schema

GenericPublicError

设置通知策略树。(RoutePutPolicyTree)

警告

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

PUT /api/v1/provisioning/policies

参数

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

所有响应

代码状态描述包含标头Schema
202已接受Ackschema
400错误请求ValidationErrorschema

响应

202 - 确认

状态:已接受

模式

Ack

400 - 验证错误

状态:错误请求

模式

ValidationError

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

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

参数

名称来源类型Go 类型必需默认值描述
namepathstringstring模板组名称
X-Disable-Provenance: trueheaderstringstring允许在 Grafana UI 中编辑预置的资源
BodybodyNotificationTemplateContentmodels.NotificationTemplateContent

所有响应

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

响应

202 - 通知模板

状态:已接受

模式

NotificationTemplate

400 - 验证错误

状态:错误请求

模式

GenericPublicError

409 - 冲突

状态:冲突

模式

GenericPublicError

清除通知策略树。(RouteResetPolicyTree)

DELETE /api/v1/provisioning/policies

所有响应

代码状态描述包含标头Schema
202已接受Ackschema

响应

202 - 确认

状态:已接受

模式

Ack

模型

确认

interface{}

AlertQuery

属性

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

AlertQueryExport

属性

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

AlertRuleExport

属性

名称类型Go 类型必需默认值描述示例
annotationsstring 映射map[string]string
conditionstringstring
dashboardUidstringstring
data[] AlertQueryExport[]*AlertQueryExport
execErrStatestringstring
forDurationDuration
isPausedbooleanbool
labelsstring 映射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 方法来匹配 LabelSet 与切片中的所有 Matcher。请注意,一些 Matcher 的使用者可能要求对其进行排序。

[] Matcher

MuteTimeInterval

属性

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

MuteTimingExport

属性

MuteTimingsExport

属性

MuteTimings

[] MuteTimeInterval

未找到

interface{}

NotificationPolicyExport

属性

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

通知模板

属性

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

NotificationTemplateContent

属性

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

NotificationTemplates

[] NotificationTemplate

ObjectMatchers

Matchers

内联模型

权限被拒绝

interface{}

Provenance

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

ProvisionedAlertRule

属性

名称类型Go 类型必需默认值描述示例
annotationsstring 映射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
labelsstring 映射map[string]string{"team":"sre-team-1"}
noDataStatestringstring
orgIDint64 (格式化整数)`int64
provenanceProvenanceProvenance
ruleGroupstringstringeval_group_1
titlestringstring总是触发
uidstringstring
updated日期时间(格式化字符串)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
matchstring 映射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 的预置文件导出。这需要隐藏在预置文件格式中不可用的字段。另一种方法是定义一个排除这些字段的自定义 MarshalJSON 和 MarshalYAML。

属性

名称类型Go 类型必需默认值描述示例
continuebooleanbool
group_by[]string[]string
group_intervalstringstring
group_waitstringstring
matchstring 映射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"

验证错误

属性

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

GenericPublicError

属性

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