状态码
请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。
状态码是一组从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,可对告警规则进行查询、启停、删除等操作。