更新时间:2023-08-15 GMT+08:00

快速入门

概述

本节通过调用一系列云监控的API为ECS的cpu_util指标创建告警规则,当指标的数值达到设置的阈值时及时通知用户处理。

通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。

操作步骤

  1. Token认证,具体操作请参考认证鉴权
  2. 查询可监控的指标列表。

    发送“GET https://云监控的终端节点/V1.0/{project_id}/metrics”。

    在Request Header中增加“X-Auth-Token”,“X-Auth-Token”的取值为1中获取的Token。

    请求响应成功后,返回metrics信息,如下所示的"metric_name": "cpu_util"。

    {
        "metrics": [
            {
                "namespace": "SYS.ECS", 
                "dimensions": [
                    {
                        "name": "instance_id", 
                        "value": "d9112af5-6913-4f3b-bd0a-3f96711e004d"
                    }
                ], 
                "metric_name": "cpu_util", 
                "unit": "%"
            }
        ], 
        "meta_data": {
            "count": 1, 
            "marker": "SYS.ECS.cpu_util.instance_id:d9112af5-6913-4f3b-bd0a-3f96711e004d", 
            "total": 7
        }
    }

    若请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考返回错误码说明

  3. 创建告警规则。

    发送“POST https://云监控的终端节点/V1.0/{project_id}/alarms”。

    在Request Body中传入参数如下:
    {
        "alarm_name": "alarm-rp0E",  //告警规则名称(必填,String)
        "alarm_description": "", 
        "metric": {
            "namespace": "SYS.ECS",  //命名空间(必填,String)
            "dimensions": [
                {
                    "name": "instance_id", 
                    "value": "33328f02-3814-422e-b688-bfdba93d4051"
                }
            ], 
            "metric_name": "cpu_util"   //指标名称(必填,String)
        }, 
        "condition": {
            "period": 300,      //告警周期(必填,整数)
            "filter": "average",     //数据聚合方式(必填,String)
            "comparison_operator": ">=",    //告警阈值的比较条件(必填,String)
            "value": 80,  //告警阈值(必填,String)
            "unit": "%",  //数据单位(必填,String)
            "count": 1
        }, 
        "alarm_enabled": true, 
        "alarm_action_enabled": true, 
        "alarm_level": 2,
        "alarm_actions": [
            {
                "type": "notification", 
                "notificationList": [ ]
            }
        ], 
        "ok_actions": [
            {
                "type": "notification", 
                "notificationList": [ ]
            }
        ]
    }

    请求响应成功后,返回alarm_id。

    {
        "alarm_id":"al1450321795427dR8p5mQBo"
    }

    若请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考返回错误码说明

    根据3中的响应alarm_id,可对告警规则进行查询、启停、删除等操作。