更新时间:2024-11-22 GMT+08:00

查询告警规则列表

功能介绍

查询告警规则列表,可以指定分页条件限制结果数量,可以指定排序规则。

告警规则V1接口只支持配置单资源单策略规则,建议使用查询告警规则列表(推荐)与前端功能配套使用。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

GET /V1.0/{project_id}/alarms

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    项目ID。

    获取方式请参见获取项目ID

    表2 参数说明

    名称

    参数类型

    说明

    alarms

    Array of objects

    告警规则列表。

    详细参数请参见表3

    表3 查询检索参数

    名称

    是否必选

    参数类型

    说明

    start

    String

    分页起始值,内容为alarm_id。

    limit

    Integer

    取值范围(0,100],默认值为100

    用于限制结果数据条数。

    order

    String

    用于标识结果排序方法,时间戳排序。

    取值说明,默认值为desc。

    • asc:升序
    • desc:降序
  • 样例
    请求样例一:查询当前告警规则列表。
    GET https://{云监控的endpoint}/V1.0/{project_id}/alarms

    请求样例二:查询告警规则列表,从alarm_id为al1441967036681YkazZ0deN开始,结果按时间戳降序保留10条数据。
    GET https://{云监控的endpoint}/V1.0/{project_id}/alarms?start=al1441967036681YkazZ0deN&limit=10&order=desc

请求消息

响应消息

  • 响应参数
    表4 响应参数

    名称

    参数类型

    说明

    metric_alarms

    Array of objects

    告警对象列表。

    详细参数请参见表5

    meta_data

    Object

    查询结果元数据信息,包括分页信息等。

    详细参数请参见表12

    表5 metric_alarms字段数据结构说明

    名称

    参数类型

    说明

    alarm_name

    String

    告警名称。

    alarm_description

    String

    告警描述。

    metric

    Object

    告警指标。

    详细参数请参见表6

    condition

    Object

    告警触发条件。

    详细参数请参见表11

    alarm_enabled

    Boolean

    是否启用该条告警。

    alarm_level

    Integer

    告警级别,默认为2,级别为1、2、3、4。分别对应紧急、重要、次要、提示。

    alarm_action_enabled

    Boolean

    是否启用该条告警触发的动作。

    alarm_actions

    Array of objects

    告警触发的动作。

    详细参数请参见表8

    ok_actions

    Array of objects

    告警恢复触发的动作。

    详细参数请参见表9

    insufficientdata_actions

    Array of objects

    数据不足触发的动作。

    详细参数请参见表10

    alarm_action_begin_time

    String

    告警规则生效的开始时间,告警规则仅在生效时间内发送通知消息。

    例如alarm_action_begin_time为8:00,alarm_action_end_time为20:00时,则对应的告警规则仅在08:00-20:00发送通知消息。

    alarm_action_end_time

    String

    告警规则生效的结束时间,告警规则仅在生效时间内发送通知消息。

    例如alarm_action_begin_time为8:00,alarm_action_end_time为20:00时,则对应的告警规则仅在08:00-20:00发送通知消息。

    alarm_type

    String

    告警类型。

    • 针对事件类型的告警时,告警类型为EVENT.SYS(系统事件)或EVENT.CUSTOM(自定义事件)。
    • 针对资源分组的告警时,告警类型为RESOURCE_GROUP。
    • 针对指定资源的告警时,告警类型为MULTI_INSTANCE。

    alarm_id

    String

    告警规则的ID。

    update_time

    Long

    告警状态变更的时间,UNIX时间戳,单位毫秒。

    alarm_state

    String

    告警状态,取值说明:

    • ok:正常
    • alarm:告警
    • insufficient_data:数据不足

    enterprise_project_id

    String

    企业项目ID。

    • 取值为all_granted_eps时,表示所有企业项目。
    • 取值为0时,表示默认的企业项目default。
    表6 metric字段数据结构说明

    名称

    参数类型

    说明

    namespace

    String

    查询服务的命名空间,各服务命名空间请参考支持监控的服务列表

    dimensions

    Array of objects

    指标维度列表。

    详细参数请参见表7

    metric_name

    String

    指标ID,例如弹性云服务器的监控指标CPU使用率,对应的metric_name为cpu_util。各服务监控指标请参考支持监控的服务列表

    resource_group_id

    String

    创建告警规则时选择的资源分组ID,如:rg1603786526428bWbVmk4rP

    resource_group_name

    String

    创建告警规则时选择的资源分组名称,如:Resource-Group-ECS-01

    表7 dimensions字段数据结构说明

    名称

    参数类型

    说明

    name

    String

    监控维度名称,例如弹性云服务器的维度为instance_id。各服务维度请参考支持监控的服务列表,可参考维度中key字段。

    value

    String

    维度取值,例如弹性云服务器的ID。

    长度最短为1,最大为256。

    表8 alarm_actions字段数据结构说明

    名称

    参数类型

    说明

    type

    String

    告警通知类型,取值如下:
    • notification:通知。
    • autoscaling:弹性伸缩。

    notificationList

    Array of strings

    告警状态发生变化时,被通知对象的列表。

    说明:

    被通知对象的ID列表的参数类型为字符串。

    表9 ok_actions字段数据结构说明

    名称

    参数类型

    说明

    type

    String

    告警恢复触发告警通知类型,取值如下:
    • notification:通知。
    • autoscaling:弹性伸缩。

    notificationList

    Array of strings

    告警状态发生变化时,被通知对象的ID列表。

    说明:

    被通知对象的ID列表的参数类型为字符串。

    表10 insufficientdata_actions字段数据结构说明

    名称

    参数类型

    说明

    type

    String

    数据不足触发告警通知类型,取值为notification。

    notificationList

    Array of strings

    数据不足触发告警通知时,被通知对象的ID列表。

    表11 condition字段数据结构说明

    名称

    参数类型

    说明

    period

    Integer

    告警条件判断周期,单位为秒。

    filter

    String

    数据聚合方式,支持的聚合方式如下:

    • average:聚合周期内指标数据的平均值。
    • max:聚合周期内指标数据的最大值。
    • min:聚合周期内指标数据的最小值
    • sum:聚合周期内指标数据的求和值。
    • variance:聚合周期内指标数据的方差。

    comparison_operator

    String

    告警阈值的比较条件,可以是>、=、<、>=、<=。

    value

    Double

    告警阈值,取值范围[0, Number.MAX_VALUE],Number.MAX_VALUE值为1.7976931348623157e+108。

    具体阈值取值请参见附录中各服务监控指标中取值范围,如支持监控的服务列表中ECS的CPU使用率cpu_util取值范围可配置80。

    unit

    String

    数据的单位,最大长度为32位

    count

    Integer

    触发告警连续发生次数,取值范围[1, 5]

    suppress_duration

    Integer

    发送告警的周期。值可为0、300、600、900、1800、3600、10800、21600、43200、86400。0表示只告警一次,300表示每5分钟告警一次,600表示每10分钟告警一次,900表示每15分钟告警一次,1800表示每30分钟告警一次,3600表示每1小时告警一次,10800表示每3小时告警一次,21600表示每6小时告警一次,43200表示每12小时告警一次,86400表示每1天告警一次。

    表12 meta_data字段数据结构说明

    名称

    参数类型

    说明

    count

    Integer

    当前返回结果条数。

    marker

    String

    下一个开始的标记,用于分页。

    如本次查询10条数据,第十条为alarm_id为1441967036681YkazZ0deN,下次start配置为al1441967036681YkazZ0deN可从该alarm_id开始查询。

    total

    Integer

    结果总条数。

  • 响应样例
    {
        "metric_alarms": [
            {
                "alarm_name": "alarm-ttttttt",
                "alarm_description": "",
                "metric": {
                    "namespace": "SYS.ECS",
                    "dimensions": [
                        {
                            "name": "instance_id",
                            "value": "07814c0e-59a1-4fcd-a6fb-56f2f6923046"
                        }
                    ],
                    "metric_name": "cpu_util"
                },
                "condition": {
                    "period": 300,
                    "filter": "average",
                    "comparison_operator": ">=",
                    "value": 0,
                    "unit": "%",
                    "count": 3                
                },
                "alarm_enabled": true,
                "alarm_level": 2,
                "alarm_action_enabled": false,
                "alarm_id": "al15330507498596W7vmlGKL",
                "update_time": 1533050749992,
                "alarm_state": "alarm"
            },
            {
                "alarm_name": "alarm-m5rwxxxxxxx",
                "alarm_description": "",
                "metric": {
                    "namespace": "SYS.ECS",
                    "dimensions": [
                        {
                            "name": "instance_id",
                            "value": "30f3858d-4377-4514-9081-be5bdbf1392e"
                        }
                    ],
                    "metric_name": "network_incoming_bytes_aggregate_rate"
                },
                "condition": {
                    "period": 300,
                    "filter": "average",
                    "comparison_operator": ">=",
                    "value": 12,
                    "unit": "Byte/s",
                    "count": 3,
                    "suppress_duration": 1800               
                },
                "alarm_enabled": true,
                "alarm_level": 2,
                "alarm_action_enabled": true,
                "alarm_actions": [
                    {
                        "type": "notification",
                        "notificationList": [
                            "urn:smn:region:68438a86d98e427e907e0097b7e35d48:test0315"
                        ]
                    }
                ],
                "ok_actions": [
                    {
                        "type": "notification",
                        "notificationList": [
                            "urn:smn:region:68438a86d98e427e907e0097b7e35d48:test0315"
                        ]
                    }
                ], 
                "alarm_id": "al1533031226533nKJexAlbq",
                "update_time": 1533204036276,
                "alarm_state": "ok"
            }
        ],
        "meta_data": {
            "count": 2,
            "marker": "al1533031226533nKJexAlbq",
            "total": 389
        }
    }

返回值

  • 正常

    200

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误。

    401 Unauthorized

    未提供认证信息,或认证信息错误。

    403 Forbidden

    请求页面被禁止访问。

    408 Request Timeout

    请求超出了服务器的等待时间。

    429 Too Many Requests

    当前请求过多。

    500 Internal Server Error

    请求未完成,服务异常。

    503 Service Unavailable

    系统暂时不可用,请求受限。

错误码

请参考返回错误码说明