快速入门
概述
本节通过调用一系列云监控的API为ECS的cpu_util指标创建告警规则,当指标的数值达到设置的阈值时及时通知用户处理。
通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。
创建流程
操作步骤
- 获取用户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": { "name": "A-Company" } } } } }
您需要指定如下参数:
- user.name:用户名称,根据获取token的主体填写。
- password:用户的登录密码。
- domain.name:用户所属的账号名称。如果是账号获取token,账号的user.name和domain.name相同,此处填写user.name即可。否则此处填写用户所属的账号名。
- project.name:区域。
Response Header中获取X-Subject-Token,即为签名后的Token。
- 查询可监控的指标列表。
发送“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 } }
若请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考返回错误码说明。
- 创建告警规则。
发送“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,可对告警规则进行查询、启停、删除等操作。