调用SearchAlertRules接口查询报警规则。

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String SearchAlertRules

系统规定参数。取值:SearchAlertRules

Title String AlertRuleTitle

报警规则名称。

Type String 4

报警规则类型:

  • 1:基于下钻数据集的自定义监控报警规则。
  • 3:基于平铺数据集的自定义监控报警规则。
  • 4:前端监控报警规则,包含默认前端监控报警规则(AlertType=6)。
  • 5:应用监控报警规则,包含默认应用监控报警规则(AlertType=7)。
  • 6:默认前端监控报警规则。
  • 7:默认应用监控报警规则。
  • 8:链路追踪Tracing Analysis报警规则。
  • 101:Prometheus监控报警规则。
CurrentPage Integer 1

查询结果分页的页码。默认为1

PageSize Integer 20

查询结果分页的每页项目数量。默认为10

RegionId String cn-hangzhou

报警数据地域ID。RegionIdSystemRegionId的映射关系,请参见表格下方补充说明。

Pid String atc889zkcf@d8deedfa9bf****

报警规则关联的ARMS应用的ID标识串。获取方式请参见如何获取应用PID

AppType String TRACE

报警规则对应的应用类型,分为以下类型:

  • TRACE:应用监控报警规则
  • RETCODE:前端监控报警规则
SystemRegionId String cn-hangzhou

报警规则所在地域ID。RegionIdSystemRegionId的映射关系,请参见表格下方补充说明。

RegionIdSystemRegionId的映射关系。

SearchAlertRules接口会根据设置的SystemRegionId参数获取指定报警地域的报警规则。

  • 如果SystemRegionId参数未设置,后端会自动同步SystemRegionId值为RegionId值。
  • 如果设置了SystemRegionId参数,RegionId则必须根据以下映射关系设置,否则将无法返回数据。

RegionId

SystemRegionId

cn-hangzhou(杭州)

cn-hangzhou(杭州)

cn-hangzhou(杭州)

cn-shanghai(上海)

cn-hangzhou(杭州)

cn-qingdao(青岛)

cn-hangzhou(杭州)

cn-beijing(北京)

cn-hangzhou(杭州)

cn-zhangjiakou(张家口)

cn-hangzhou(杭州)

cn-huhehaote(呼和浩特)

cn-hangzhou(杭州)

cn-shenzhen(深圳)

cn-hangzhou(杭州)

cn-chengdu(成都)

cn-hangzhou(杭州)

cn-hongkong(中国香港)

ap-southeast-1(新加坡)

ap-southeast-1(新加坡)

ap-southeast-1(新加坡)

ap-southeast-2(悉尼)

ap-southeast-1(新加坡)

ap-southeast-3(吉隆坡)

ap-southeast-1(新加坡)

ap-southeast-5(雅加达)

ap-southeast-1(新加坡)

ap-south-1(孟买)

ap-southeast-1(新加坡)

me-east-1(迪拜)

ap-southeast-1(新加坡)

ap-southeast-6(马尼拉)

ap-northeast-1(东京)

ap-northeast-1(东京)

us-west-1(硅谷)

us-west-1(硅谷)

us-west-1(硅谷)

us-east-1(弗吉尼亚)

eu-west-1(伦敦)

eu-central-1(法兰克福)

eu-west-1(伦敦)

eu-west-1(伦敦)

cn-hangzhou-finance(杭州金融云)

cn-shanghai-finance-1(上海金融云)

cn-hangzhou-finance(杭州金融云)

cn-hangzhou-finance(杭州金融云)

例如:需要获取上海地域的报警数据,可以进行以下设置:

  • 设置RegionIdcn-shanghai,不设置SystemRegionId参数。
  • 设置RegionIdcn-hangzhou,设置SystemRegionIdcn-shanghai

如果您需要查询法兰克福地域的报警规则,请设置RegionIdeu-west-1,设置SystemRegionIdeu-central-1

返回数据

名称 类型 示例值 描述
RequestId String 34ED024E-9E31-434A-9E4E-D9D15C3****

请求ID。

PageBean Object

返回结构体。

PageNumber Integer 1

查询结果分页页码。

PageSize Integer 20

查询结果分页的每页项目数量。

TotalCount Integer 23

查询结果总数。

AlertRules Array of AlertRuleEntity

报警规则列表。

Status String RUNNING

报警规则状态。RUNNING表示运行中,STOPPED表示已停止。

UpdateTime Long 1480521600000

报警规则更新时间的时间戳。

ContactGroupIdList String 381*,572*

报警规则中联系人分组ID,多个ID以半角逗号(,)分隔。

CreateTime Long 1579508519683

报警规则创建时间的时间戳。

AlertTitle String TestAlertRule

报警规则名称。

UserId String 113197164949****

报警规则所属用户的ID。

AlertVersion Integer 1

报警规则版本,默认为1

HostByAlertManager Boolean true

是否标识告警是通过告警中心发送的通知。

  • true
  • false
AlertType Integer 4

报警规则类型:

  • 1:基于下钻数据集的自定义监控报警规则。
  • 3:基于平铺数据集的自定义监控报警规则。
  • 4:前端监控报警规则,包含默认前端监控报警规则(AlertType=6)。
  • 5:应用监控报警规则,包含默认应用监控报警规则(AlertType=7)。
  • 6:默认前端监控报警规则。
  • 7:默认应用监控报警规则。
  • 8:链路追踪Tracing Analysis报警规则。
  • 101:Prometheus监控报警规则。
ContactGroupIds String [123, 234]

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

Config String {\"continuous\":true,\"dataRevision\":2}

报警规则的配置项,格式为JSON字符串。

continuous的值包括:

  • true:每分钟均发送报警
  • false:打开报警静默期开关

dataRevision表示未取得数据或者或数据为null值时的数据修订策略,包括:

  • 0:补零策略。
  • 1:补一策略。
  • 2:补null (默认补null),将不对数据做处理,无数据时将不会生成报警事件。
RegionId String cn-hangzhou

报警规则所属的地域ID。

AlertLevel String WARN

报警通知级别,目前只支持WARN

TaskStatus String ""

内部字段。

Title String AlertTest

报警名称。

TaskId Long 123

基于任务的自定义监控报警规则所关联的ARMS任务ID。

Id Long 123

报警规则ID。

AlertWays Array of String ["MAIL", "SMS", "DING_ROBOT"]

报警通知发送方式:

  • SMS:短信
  • MAIL:邮件
  • DING_ROBOT:钉钉机器人
AlarmContext Object

报警发送消息格式。

AlarmContentTemplate String 报警名称:$报警名称\n筛选条件:$筛选\n报警时间:$报警时间\n报警内容:$报警内容\n注意:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!

报警通知内容模板。

SubTitle String test

报警通知子标题。

AlarmContentSubTitle String TestSubTitle

报警内容子标题。

Content String 报警名称:$报警名称\n筛选条件:$筛选\n报警时间:$报警时间\n报警内容:$报警内容\n注意:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!

报警通知内容。

AlertRule Object

报警规则判断条件列表。支持多个条件,条件间用“与逻辑”或“或逻辑”连接。

Operator String |

报警规则判断逻辑。&表示“与”逻辑,|表示“或”逻辑。

Rules Array of Rule

报警规则判断条件。

Measure String appstat.jvm.SystemDiskFree

报警规则数据指标,根据这些指标判断是否符合报警规则条件。更多信息,请参见报警指标取值枚举

Value Float 30

报警规则判断条件的判断阈值。

Aggregates String AVG

报警判断规则的聚合逻辑:

  • AVG:每分钟求平均
  • SUM:每分钟值求和
  • MAX:每分钟最大值
  • MIN:每分钟最小值
NValue Integer 5

报警规则判断条件的数据请求范围,单位为分钟。例如,NValue=5表示每分钟报警将请求最近5分钟的数据。

Operator String CURRENT_GTE

报警规则判断条件的判断符号:

  • CURRENT_GTE:大于或等于
  • CURRENT_LTE:小于或等于
  • PREVIOUS_UP:环比上升百分比
  • PREVIOUS_DOWN:环比下降百分比
  • HOH_UP:与上小时同比上升百分比
  • HOH_DOWN:与上小时同比下降百分比
  • DOD_UP:与昨日同比上升百分比
  • DOD_DOWN:与昨日同比下降百分比
Alias String 调用响应时间_ms

报警指标的展示文本。

MetricParam Object

报警规则关联应用信息配置。

Type String DB

报警规则指标的类型。

  • txn:应用监控入口调用量
  • txn_type:应用监控调用类型统计
  • db:数据库指标
  • jvm:JVM监控
  • host:主机监控
  • exception:异常接口调用
AppGroupId String DEFAULT

报警关联应用的应用子分组ID,适用于EDAS应用分组场景。

AppId String 123

ARMS应用的自增ID,可忽略。

Pid String 9870ca99-8105-4da7-a3a4-d72dd1b1****

报警规则关联的应用的ID。

Dimensions Array of Dimension

报警规则判断条件中的维度条件。

Key String rootIp

维度名称,包括以下值:

  • rpc:接口名称
  • rpcType:接口调用类型(如HTTP、DUBBO)
  • endpoint:数据库名称
  • rootIp:机器IP地址
Type String DISABLED

维度条件的类型,包含以下可选值:

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

维度选项的值。

Notice Object

报警规则的生效时间范围和通知时间范围。

EndTime Long 1480607940000

报警规则生效时间范围的结束时间的时间戳,控制报警规则在每天24小时中的生效时间范围。格式为UNIX时间戳,其中年月日不生效,只有时分秒生效。

NoticeEndTime Long 1480607940000

报警规则通知时间范围的结束时间的时间戳,控制报警规则在每天24小时中的通知时间范围。格式为UNIX时间戳,其中年月日不生效,只有时分秒生效。

StartTime Long 1480521600000

报警规则生效时间范围的开始时间的时间戳,控制报警规则在每天24小时中的生效时间范围。格式为UNIX时间戳,其中年月日不生效,只有时分秒生效。

NoticeStartTime Long 1480521600000

报警规则通知时间范围的开始时间的时间戳,控制报警规则在每天24小时中的通知时间范围。格式为UNIX时间戳,其中年月日不生效,只有时分秒生效。

报警指标取值枚举

  • 报警类型(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.inbound.rt:应用提供服务调用响应时间(毫秒)
      • appstat.inbound.count:应用提供服务调用次数
      • appstat.inbound.error:应用提供服务调用错误数
      • appstat.outbound.rt:应用依赖服务调用响应时间(毫秒)
      • appstat.outbound.count:应用依赖服务调用次数
      • appstat.outbound.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:应用异常接口调用次数

示例

请求示例

http(s)://[Endpoint]/?Action=SearchAlertRules
&Title=AlertRuleTitle
&Type=4
&CurrentPage=1
&PageSize=20
&RegionId=cn-hangzhou
&Pid=atc889zkcf@d8deedfa9bf****
&AppType=TRACE
&SystemRegionId=cn-hangzhou
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<SearchAlertRulesResponse>
    <RequestId>34ED024E-9E31-434A-9E4E-D9D15C3****</RequestId>
    <PageBean>
        <PageNumber>1</PageNumber>
        <PageSize>20</PageSize>
        <TotalCount>23</TotalCount>
        <AlertRules>
            <Status>RUNNING</Status>
            <UpdateTime>1480521600000</UpdateTime>
            <ContactGroupIdList>381*,572*</ContactGroupIdList>
            <CreateTime>1579508519683</CreateTime>
            <AlertTitle>TestAlertRule</AlertTitle>
            <UserId>113197164949****</UserId>
            <AlertVersion>1</AlertVersion>
            <HostByAlertManager>true</HostByAlertManager>
            <AlertType>4</AlertType>
            <ContactGroupIds>[123, 234]</ContactGroupIds>
            <Config>{\"continuous\":true,\"dataRevision\":2}</Config>
            <RegionId>cn-hangzhou</RegionId>
            <AlertLevel>WARN</AlertLevel>
            <TaskStatus>""</TaskStatus>
            <Title>AlertTest</Title>
            <TaskId>123</TaskId>
            <Id>123</Id>
            <AlertWays>["MAIL", "SMS", "DING_ROBOT"]</AlertWays>
            <AlarmContext>
                <AlarmContentTemplate>报警名称:$报警名称\n筛选条件:$筛选\n报警时间:$报警时间\n报警内容:$报警内容\n注意:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!</AlarmContentTemplate>
                <SubTitle>test</SubTitle>
                <AlarmContentSubTitle>TestSubTitle</AlarmContentSubTitle>
                <Content>报警名称:$报警名称\n筛选条件:$筛选\n报警时间:$报警时间\n报警内容:$报警内容\n注意:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!</Content>
            </AlarmContext>
            <AlertRule>
                <Operator>|</Operator>
                <Rules>
                    <Measure>appstat.jvm.SystemDiskFree</Measure>
                    <Value>30</Value>
                    <Aggregates>AVG</Aggregates>
                    <NValue>5</NValue>
                    <Operator>CURRENT_GTE</Operator>
                    <Alias>调用响应时间_ms</Alias>
                </Rules>
            </AlertRule>
            <MetricParam>
                <Type>DB</Type>
                <AppGroupId>DEFAULT</AppGroupId>
                <AppId>123</AppId>
                <Pid>9870ca99-8105-4da7-a3a4-d72dd1b1****</Pid>
                <Dimensions>
                    <Key>rootIp</Key>
                    <Type>DISABLED</Type>
                    <Value>"127.0.0.1"</Value>
                </Dimensions>
            </MetricParam>
            <Notice>
                <EndTime>1480607940000</EndTime>
                <NoticeEndTime>1480607940000</NoticeEndTime>
                <StartTime>1480521600000</StartTime>
                <NoticeStartTime>1480521600000</NoticeStartTime>
            </Notice>
        </AlertRules>
    </PageBean>
</SearchAlertRulesResponse>

JSON格式

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

{
  "RequestId" : "34ED024E-9E31-434A-9E4E-D9D15C3****",
  "PageBean" : {
    "PageNumber" : 1,
    "PageSize" : 20,
    "TotalCount" : 23,
    "AlertRules" : {
      "Status" : "RUNNING",
      "UpdateTime" : 1480521600000,
      "ContactGroupIdList" : "381*,572*",
      "CreateTime" : 1579508519683,
      "AlertTitle" : "TestAlertRule",
      "UserId" : "113197164949****",
      "AlertVersion" : 1,
      "HostByAlertManager" : true,
      "AlertType" : 4,
      "ContactGroupIds" : "[123, 234]",
      "Config" : "{\\\"continuous\\\":true,\\\"dataRevision\\\":2}",
      "RegionId" : "cn-hangzhou",
      "AlertLevel" : "WARN",
      "TaskStatus" : "\"\"",
      "Title" : "AlertTest",
      "TaskId" : 123,
      "Id" : 123,
      "AlertWays" : "[\"MAIL\", \"SMS\", \"DING_ROBOT\"]",
      "AlarmContext" : {
        "AlarmContentTemplate" : "报警名称:$报警名称\\n筛选条件:$筛选\\n报警时间:$报警时间\\n报警内容:$报警内容\\n注意:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!",
        "SubTitle" : "test",
        "AlarmContentSubTitle" : "TestSubTitle",
        "Content" : "报警名称:$报警名称\\n筛选条件:$筛选\\n报警时间:$报警时间\\n报警内容:$报警内容\\n注意:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!"
      },
      "AlertRule" : {
        "Operator" : "|",
        "Rules" : {
          "Measure" : "appstat.jvm.SystemDiskFree",
          "Value" : 30,
          "Aggregates" : "AVG",
          "NValue" : 5,
          "Operator" : "CURRENT_GTE",
          "Alias" : "调用响应时间_ms"
        }
      },
      "MetricParam" : {
        "Type" : "DB",
        "AppGroupId" : "DEFAULT",
        "AppId" : 123,
        "Pid" : "9870ca99-8105-4da7-a3a4-d72dd1b1****",
        "Dimensions" : {
          "Key" : "rootIp",
          "Type" : "DISABLED",
          "Value" : "\"127.0.0.1\""
        }
      },
      "Notice" : {
        "EndTime" : 1480607940000,
        "NoticeEndTime" : 1480607940000,
        "StartTime" : 1480521600000,
        "NoticeStartTime" : 1480521600000
      }
    }
  }
}