文档

ImportAppAlertRules - 创建应用报警规则

更新时间:

调用ImportAppAlertRules接口创建应用报警规则。

接口说明

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

说明 ImportAppAlertRules 接口仅适合于导入应用监控和前端监控报警规则,包括系统自动生成的应用监控和前端监控报警规则。该接口不适用于导入自定义监控报警规则、Prometheus 监控报警规则、默认紧急报警规则等。

调试

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

授权信息

当前API暂无授权信息透出。

请求参数

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

报警模板 ID。TemplateAlertIdTemplageAlertConfig 必须至少填写一个。如果两个参数都填写,则 TemplateAlertId 优先。

324324234
Pidsstring

常见报警规则关联的 ARMS 应用 ID(即 PID),格式为 JsonArrayListStr。

ARMS 控制台应用监控>应用列表页面单击目标应用名称。此时浏览器地址栏中的 URL 即包含应用的 pid,格式为 pid=xxx。由于浏览器进行了编码,因此需要对 pid 稍作修改。例如,如果 URL 中包含的 pid 为 xxx%4074xxx,则需要将%40 替换为@,即:xxx@74xxx。

["atc889zkcf@d8deedfa9bfxxxx", "acd129bfcf@d5daebfa6cdxxxx"]
RegionIdstring

应用报警规则关联的应用所属地域的 ID。

cn-hangzhou
ContactGroupIdsstring

报警联系人分组 ID,格式为 JSONArray。

[123, 234]
IsAutoStartboolean

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

  • true:自动启动报警规则
  • false:不自动启动报警规则
true
TemplageAlertConfigstring

ARMS 报警规则的配置 JSON 串。TemplateAlertIdTemplageAlertConfig 必须至少填写一个。如果两个参数都填写,则 TemplateAlertId 优先。关于此字段的详细说明参见下文关于参数 TemplageAlertConfig 的补充说明

[ { "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" } ]
Tagsobject []

标签列表。

Keystring

标签键。

type
Valuestring

标签值。

prod

关于参数 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:接口名称
      • rpcType:接口调用类型,如 HTTP、DUBBO
    • 此类报警数据请求指标(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.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:应用异常接口调用次数

返回参数

名称类型描述示例值
object
Datastring

报警规则 ID

[12174**]
RequestIdstring

请求 ID

A5EC8221-08F2-4C95-9AF1-49FD998C****

示例

正常返回示例

JSON格式

{
  "Data": "[12174**]",
  "RequestId": "A5EC8221-08F2-4C95-9AF1-49FD998C****"
}

错误码

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

变更历史

变更时间变更内容概要操作
2023-07-14OpenAPI 描述信息更新、OpenAPI 入参发生变更看变更集
变更项变更内容
API 描述OpenAPI 描述信息更新
入参OpenAPI 入参发生变更
    新增入参:Tags
  • 本页导读 (1)
文档反馈