• 沒有找到結果。

状态码

请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。

状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码 列表请参见状态码。

对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。

响应消息头

对应请求消息头,响应同样也有消息头,如“Content-type”。

对于获取用户Token接口,返回如图3-2所示的消息头,其中“x-subject-token”就是 需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。

3-2 获取用户 Token 响应消息头

响应消息体(可选)

该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中 Content-Type对应,传递除响应消息头之外的内容。

对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。

{ "token": {

"expires_at": "2019-02-13T06:52:13.855000Z", "methods": [

"password"

],

"catalog": [ {

"endpoints": [ {

"region_id": "az-01", ...

当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所 示。

{ "error_msg": "The format of message is error", "error_code": "AS.0001"

}

其中,error_code表示错误码,error_msg表示错误描述信息。

4 快速入门

概述

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

说明

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

创建流程

1. 获取用户Token

2. 查询可监控的指标列表

3. 创建告警规则

操作步骤

1. 获取用户Token。

发送POST https://IAM的终端节点/v3/auth/tokens。

Request Header中添加Content-Type: application/json。

Request Body如下所示:

{ "auth": { "identity": { "methods": [ "password"

],

"password": { "user": {

"name": "James", "password": "**********", "domain": {

"name": "A-Company"

} } } }, "scope": { "project": { "name": "XXX",

"domain": {

– user.name:用户名称,根据获取token的主体填写。

– password:用户的登录密码。

– domain.name:用户所属的账号名称。如果是账号获取token,账号的 user.name和domain.name相同,此处填写user.name即可。否则此处填写用 户所属的账号名。

– project.name:区域。

不同区域的名称不同,您可以从地区和终端节点中查询区域,例如cn-north-4。

说明

Response Header中获取X-Subject-Token,即为签名后的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": [

"marker": "SYS.ECS.cpu_util.instance_id:d9112af5-6913-4f3b-bd0a-3f96711e004d", "total": 7

发送“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,可对告警规则进行查询、启停、删除等操作。

5 API 说明