UpdateAlertRule_应用实时监控服务ARMS_API文档

插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

当前接口已不再维护,请使用新版告警管理的 CreateOrUpdateAlertRule 接口创建或修改告警规则。

流控信息

当前云产品API请求速率暂未透出。

授权信息

如下是此API对应的授权信息,用于RAM权限策略语句的Action元素中,为RAM用户或RAM角色授予调用此API的权限。请通过 RAM 访问控制设置,使用方法可参考访问控制帮助文档

具体说明如下:展开详情

操作访问级别资源类型条件关键字关联操作
arms:UpdateAlertRule
None
AlertRule
acs:arms:{#regionId}:{#AccountId}:alertrule/{#AlertRuled}

请求参数

字段名称字段详情
RegionIdstring

地域 ID。

示例值:cn-hangzhou
ContactGroupIdsstring

报警联系人分组 ID。

示例值:[123, 234] 参考取值来源:
    DescribeContactGroups
    CreateOrUpdateContactGroup
    SearchAlertContactGroup
IsAutoStartboolean

生成报警规则后是否自动启动报警规则。默认为false展开详情

示例值:true
TemplageAlertConfigstring

ARMS 报警规则的配置 JSON 串。

示例值:[ { "contactGroupIds": "381", "alertType": 5, "alarmContext": { "subTitle": "", "content": "报警名称:$报警名称\n筛选条件:$筛选\n报警时间:$报警时间\n报警内容:$报警内容\n注意:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!" }, "alertLevel": "WARN", "metricParam": { "appId": "70901", "pid": "atc889zkcf@d8deedfa9bf****", "type": "TXN", "dimensions": [ { "type": "STATIC", "value": "\\/hello_test_api_address\\/test1", "key": "rpc" } ] }, "alertWay": [ "SMS", "MAIL", "DING_ROBOT" ], "alertRule": { "rules": [ { "measure": "appstat.txn.rt", "alias": "入口调用响应时间_ms", "aggregates": "AVG", "nValue": 1, "value": 1, "operator": "CURRENT_GTE" } ], "operator": "|" }, "title": "报警模板报警名", "config": "{\"continuous\":false,\"dataRevision\":2,\"ownerId\":\"123412341234\"}", "notice": { "noticeStartTime": 1480521600000, "startTime": 1480521600000, "endTime": 1480607940000, "noticeEndTime": 1480607940000 }, "status": "NON" } ]
AlertIdinteger<int64>

报警规则 ID,可调用 SearchAlertRules 接口查询,对应返回参数 Id

注意 该字段类型为 Long,在序列化/反序列化的过程中可能导致精度丢失,请注意数值不得大于 9007199254740991。
示例值:1234567参考取值来源:
    ListAlerts
    GetAlertRules

请求说明

关于参数 TemplageAlertConfig 的补充说明

报警模板 JSON 串示例及说明

[
  {

    "contactGroupIds": "381",                         // 报警通知发送的联系人分组 ID,以半角逗号(,)分隔。报警模板中忽略,导入时会映射对应值。
    "alertType": 5,                                   // 可选值为 4 和 5。4 表示前端监控报警,5 表示应用监控报警。
    "alarmContext": {                                 // 报警通知内容模板。
      "subTitle": "",
      "content": "报警名称:$报警名称\n 筛选条件:$筛选\n 报警时间:$报警时间\n 报警内容:$报警内容\n 注意:该报警未收到恢复邮件之前,正在持续报警中,24 小时后会再次提醒您!"
    },
    "alertLevel": "WARN",                             // 报警等级:FATAL、ERROR、WARN。
    "metricParam": {
      "appId": "70901",                               // 报警关联的应用 AppId。模板报警配置中可随意填写,导入时会映射对应值。
      "pid": "atc889zkcf@d8deedfa9bf****",            // 报警关联的应用 Pid。模板报警配置中可随意填写,导入时会映射对应值。
      "type": "TXN",                                  // 报警指标类型,详见下一节。
      "dimensions": [                                 // 报警关联的维度,详见下一节。
        {
          "type": "STATIC",
          "value": "\\/hello_test_api_address\\/test1",
          "key": "rpc"
        }
      ]
    },
    "alertWay": [                                       // 报警通知发送方式:SMS(开启短信通知)、MAIL(开启邮件通知)、DING_ROBOT(开启钉钉机器人通知)。
      "SMS",
      "MAIL",
      "DING_ROBOT"
    ],
    "alertRule": {
      "rules": [                                          // 报警判断规则列表
        {
          "measure": "appstat.txn.rt",                    // 报警规则请求指标,详见下一节。
          "alias": "入口调用响应时间_ms",                 // 报警规则请求指标展示字段,报警模板无需填此字段。
          "aggregates": "AVG",                            // 数据请求后聚合算子。AVG 为取平均,SUM 为取和,MIN 为取最小值,MAX 为取最大值。
          "nValue": 1,                                    // 报警规则每分钟轮询请求几分钟的数据。
          "value": 1,                                     // 报警规则判断阈值。
          "operator": "CURRENT_GTE"                       // CURRENT_GTE:大于或等于;CURRENT_LTE:小于或等于;PREVIOUS_UP:环比上升;PREVIOUS_DOWN:环比下降;HOH_UP:与上小时同比上升;HOH_DOWN:与上小时同比下降;DOD_UP:与昨日同比上升百分比;DOD_DOWN:与昨日同比下降百分比。
        }
      ],
      "operator": "|"                                     // 表示多个判断条件的组合方式。&为与逻辑,|为或逻辑。
    },
    "title": "报警模板报警名",                              // 模板报警名称。导入后,会生成新报警名称“{title}-应用名”。
    "config": "{\"continuous\":false,\"dataRevision\":2,\"ownerId\":\"123412341234\"}",          // continuous 为 true 表示连续报警,continuous 为 false 表示以 24 小时为静默期的静默报警策略。dataRevision 字段为数据修订策略,0 表示补零,1 表示补 1,2 表示空值,即不处理。
    "notice": {                                                                                  // unix timstamp ms 时间戳,noticeStartTime 与 noticeEndTime 时间戳表示通知时间范围,startTime 与 endTime 表示报警生效时间范围,timestamp 转换为时间戳表示当天时间点,如 1565964097071 对应 2019-08-16 22:01:37。
      "noticeStartTime": 1480521600000,
      "startTime": 1480521600000,
      "endTime": 1480607940000,
      "noticeEndTime": 1480607940000
    },
    "status": "NON"                                        // 报警当前启动状态。报警模板中忽略此字段,导入时会映射对应值。
  }
]

关于报警模板中 Measure、Dimension、metricParam.type 的说明

每个报警属于一个类型(type),由metricParam.type字段控制。每类报警都能设置一种维度(Dimension)作为筛选条件。每类报警都可以配置多个报警规则(alertRule),每个 alertRule 可以配置多个属于此类型的数据请求指标进行计算。

Dimensions.type包含以下可选值:

  • STATIC: 固定匹配此维度值需要填dimensions.value
  • ALL:遍历所有维度值,按此接口所有接口名的指标依次判断,哪个接口触发阈值引起报警,就会在报警内容中体现该接口名,此时不需要填dimensions.value
  • DISABLE:聚合所有维度值为一个值(求和),此时不需要填dimensions.value

报警指标取值枚举

  • 报警类型(metricParam.type):TXN(应用监控入口调用量)
    • 此类报警维度(dimensions.key):rpc(接口名称)
    • 此类报警数据请求指标(alertRule.rules.measure):
      • appstat.txn.rt:入口调用响应时间(毫秒)
      • appstat.txn.count:入口调用次数
      • appstat.txn.errcount:入口调用错误次数
  • 报警类型(metricParam.type):TXN_TYPE(应用监控调用类型统计)
    • 此类报警维度(dimensions.key):rpcType(接口调用类型,如 HTTP、DUBBO)
    • 此类报警数据请求指标(alertRule.rules.measure):
      • appstat.incall.rt:应用提供服务调用响应时间(毫秒)
      • appstat.incall.count:应用提供服务调用次数
      • appstat.incall.error:应用提供服务调用错误数
      • appstat.outcall.rt:应用依赖服务调用响应时间(毫秒)
      • appstat.outcall.count:应用依赖服务调用次数
      • appstat.outcall.error:应用依赖服务调用错误数
  • 报警类型(metricParam.type):DB(数据库指标)
    • 此类报警维度(dimensions.key):endpoint(数据库名称)
    • 此类报警数据请求指标(alertRule.rules.measure):
      • appstat.database.rt:数据库调用响应时间(毫秒)
      • appstat.database.count:数据库调用次数
      • appstat.database.errcount:数据库调用错误次数
  • 报警类型(metricParam.type):JVM(JVM 监控)
    • 此类报警维度(dimensions.key):rootIp(机器 IP 地址)
    • 此类报警数据请求指标(alertRule.rules.measure):
      • appstat.jvm.heap_used:JVM 堆内总内存量(字节)
      • appstat.jvm.GcPsScavengeCount:JVM 垃圾回收次数
      • appstat.jvm.GcPsMarkSweepCount:JVM 标记清除次数
      • appstat.jvm.GcG1OldGenCount:JVM_Old 区 G1GC 次数
      • appstat.jvm.GcG1YoungGenCount:JVM_Young 区 G1GC 次数
      • appstat.jvm.gc.YoungGcCountInstant:JVM_YoungGC 次数
      • appstat.jvm.gc.OldGcCountInstant:JVM_FullGC 次数
      • appstat.jvm.gc.YoungGcTimeInstant:JVM_YoungGC 耗时(毫秒)
      • appstat.jvm.gc.OldGcTimeInstant:JVM_FullGC 耗时(毫秒)
      • appstat.jvm.ThreadCount:JVM_线程总数
      • appstat.jvm.non_heap_used:JVM 非堆总使用内存量(字节)
      • appstat.jvm.non_heap_max:JVM 非堆内存最大值(字节)
      • appstat.jvm.non_heap_init:JVM 非堆内存初始值(字节)
      • appstat.jvm.non_heap_committed:JVM 非堆内存提交值(字节)
  • 报警类型(metricParam.type):HOST(主机监控)
    • 此类报警维度(dimensions.key):rootIp(机器 IP 地址)
    • 此类报警数据请求指标(alertRule.rules.measure):
      • appstat.jvm.SystemCpuUser:节点机用户使用 CPU(百分比)
      • appstat.jvm.SystemMemFree:节点机空闲内存(字节)
      • appstat.jvm.SystemDiskFree:节点机空闲磁盘(字节)
      • appstat.jvm.SystemNetInErrs:节点机接收错误报文数
      • appstat.jvm.SystemNetOutErrs:节点机发送错误报文数
      • appstat.jvm.SystemLoad:节点机系统负载
  • 报警类型(metricParam.type):EXCEPTION(异常接口调用)
    • 此类报警维度(dimensions.key):rpc(接口名称)
    • 此类报警数据请求指标(alertRule.rules.measure):
      • appstat.exception.rt:应用异常接口调用响应时间(毫秒)
      • appstat.exception.count:应用异常接口调用次数

返回参数

字段名称字段详情
Datastring

返回信息。

示例值:-
RequestIdstring

请求 ID。

示例值:6A9AEA84-7186-4D8D-B498-4585C6A2****
AlertIdinteger<int64>

报警规则 ID。

注意 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。
示例值:1234567

返回示例

变更历史

暂无变更历史

相关示例