全部产品
Search
文档中心

应用实时监控服务ARMS:UpdatePrometheusAlertRule - 更新告警规则

更新时间:Nov 05, 2024

调用UpdatePrometheusAlertRule接口更新Prometheus报警规则。

接口说明

UpdatePrometheusAlertRule 接口已不再维护,请使用 CreateOrUpdateAlertRule 接口创建或修改告警规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
arms:UpdatePrometheusAlertRuleupdate
  • 全部资源
    *

请求参数

名称类型必填描述示例值
RegionIdstring

地域 ID。

cn-hangzhou
AlertNamestring

告警规则名称。

Prometheus_Alert
ClusterIdstring

集群 ID。

c0bad479465464e1d8c1e641b0afb****
Typestring

自定义告警规则类型。

Kubernetes组件告警
NotifyTypestring

通知类型, 取值:

  • ALERT_MANAGER:通过告警运维中心通知。
  • DISPATCH_RULE:指定通知策略进行通知。
ALERT_MANAGER
DispatchRuleIdlong

通知策略 ID,当 NotifyType 指定为DISPATCH_RULE时必填。

10282
Expressionstring

告警表达式,需要使用 PromQL 语句。

100 * (sum(rate(container_cpu_usage_seconds_total[1m])) by (pod_name) / sum(label_replace(kube_pod_container_resource_limits_cpu_cores, \"pod_name\", \"$1\", \"pod\", \"(.*)\")) by (pod_name))>75
Durationstring

持续时间,范围在 1m~1440m,单位为分钟。

1
Messagestring

告警消息,支持按照{{$labels.xxx}}格式来引用标签。

${{$labels.pod_name}}CPU使用率大于80%,当前值{{$value}}%
Labelsstring

标签 JSON 串。需要设置标签的 Name 和 Value。

[{"Value": "critical","Name": "severity"}]
Annotationsstring

注释 JSON 串。需要设置注释的 Name 和 Value。

[{"Value": "xxx","Name": "description"}]
AlertIdlong

告警规则 ID,您可以在 ListPrometheusAlertRules API 接口的返回数据中查看。

3888704
Tagsarray<object>

标签。

object

标签。

Keystring

标签的键(key)。

TestKey
Valuestring

标签的值(value)。

TestValue

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

9FEA6D00-317F-45E3-9004-7FB8B0B7****
PrometheusAlertRuleobject

返回结构体。

Statusinteger

告警规则启用状态,取值:

  • 1:开启
  • 0:关闭
1
Typestring

告警规则类型。

Kubernetes组件告警
NotifyTypestring

通知类型, 取值:

  • ALERT_MANAGER:通过报警运维中心通知。
  • DISPATCH_RULE:指定通知策略进行通知。
ALERT_MANAGER
Expressionstring

告警表达式。

100 * (sum(rate(container_cpu_usage_seconds_total[1m])) by (pod_name) / sum(label_replace(kube_pod_container_resource_limits_cpu_cores, \"pod_name\", \"$1\", \"pod\", \"(.*)\")) by (pod_name))>75
Messagestring

告警通知消息,支持按照{{$labels.xxx}}格式来引用标签。

${{$labels.pod_name}}CPU使用率大于80%,当前值{{$value}}%
Durationstring

持续时间,范围在 1m~1440m,单位为分钟。

1
DispatchRuleIdlong

通知策略 ID。

10282
AlertNamestring

告警规则名称。

Prometheus_Alert
AlertIdlong

告警规则 ID。

3888704
ClusterIdstring

集群 ID。

c0bad479465464e1d8c1e641b0afb****
Labelsarray<object>

告警规则的标签。

Labelobject
Namestring

标签的名称。

severity
Valuestring

标签的值。

critical
Annotationsarray<object>

告警规则的注释。

Annotationobject
Namestring

注释的名称。

message
Valuestring

注释的值。

${{$labels.pod_name}}CPU使用率大于80%,当前值{{$value}}%
Codelong

状态码。200 为成功,其他状态码为异常。

200
Messagestring

返回信息。

success
Successboolean

操作是否成功:

  • true:操作成功
  • false:操作失败
True

示例

正常返回示例

JSON格式

{
  "RequestId": "9FEA6D00-317F-45E3-9004-7FB8B0B7****",
  "PrometheusAlertRule": {
    "Status": 1,
    "Type": "Kubernetes组件告警",
    "NotifyType": "ALERT_MANAGER",
    "Expression": "100 * (sum(rate(container_cpu_usage_seconds_total[1m])) by (pod_name) / sum(label_replace(kube_pod_container_resource_limits_cpu_cores, \\\"pod_name\\\", \\\"$1\\\", \\\"pod\\\", \\\"(.*)\\\")) by (pod_name))>75",
    "Message": "${{$labels.pod_name}}CPU使用率大于80%,当前值{{$value}}%",
    "Duration": "1",
    "DispatchRuleId": 10282,
    "AlertName": "Prometheus_Alert",
    "AlertId": 3888704,
    "ClusterId": "c0bad479465464e1d8c1e641b0afb****",
    "Labels": [
      {
        "Name": "severity",
        "Value": "critical"
      }
    ],
    "Annotations": [
      {
        "Name": "message",
        "Value": "${{$labels.pod_name}}CPU使用率大于80%,当前值{{$value}}%"
      }
    ]
  },
  "Code": 200,
  "Message": "success",
  "Success": true
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-07-31OpenAPI 返回结构发生变更查看变更详情
2023-05-11OpenAPI 描述信息更新、OpenAPI 入参发生变更查看变更详情