
# 添加监控数据 - CreateMetricData
#### 功能介绍
添加一条或多条指标监控数据。约束与限制：
1. 单次POST请求消息体大小不能超过512KB，否则请求会被服务端拒绝。
   
2. POST请求发送周期应小于最小聚合周期，否则会出现聚合数据点不连续。例如：聚合周期为5分钟，发送周期为7分钟，则5分钟情况的聚合数据会出现每10分钟才出现一个点。
   
3. POST请求体中数据收集时间（collect_time）的值必须从当前时间的前三天到当前时间后的十分钟之内某一时间，如果不在这个范围内，则不允许插入指标数据。
   
4. 如果指标上报时间（即调用指标上报接口的时间）与数据收集时间（collect_time）之间的延迟超过10分钟，CES在聚合数据时会丢弃此指标数据。您只能查看近2天的原始指标数据，聚合数据中不会显示这些延迟上报的指标。例如，14:20:00调用CES接口上报数据，请求体中的collect_time字段为14:05:00，表示延迟上报了15分钟。
   
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CES/doc?api=CreateMetricData&version=v1)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ces/ces_03_0045.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                   | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | ces:metricData:create | Write | -           | -   | -  | -      |
     
  
 
#### URI
POST /V1.0/{project_id}/metric-data
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**: 项目ID。用于明确项目归属，配置后可通过该ID查询项目下资产，可以通过调用API获取，也可以从控制台获取。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-ces/ces_03_0057.html)。 **约束限制**: 不涉及。 **取值范围**: 长度为\[1,64\]个字符。 **默认取值**: 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数       | 是否必选 | 参数类型                                                                                                                                      | 描述                     |
|:---|:---|:---|:---|
| \[数组元素\] | 是    | Array of [CreateMetricDataRequestBody] objects | 添加一条或多条自定义指标监控数据，请求参数。 |
   
 表3CreateMetricDataRequestBody 
| 参数           | 是否必选 | 参数类型                                                                                          | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| metric       | 是    | [MetricInfo] object | **参数解释**： 指标数据。 **约束限制**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ttl          | 是    | Integer                                                                                       | **参数解释**： 数据的有效期，超出该有效期则自动删除该数据，单位秒。 **约束限制**： 不涉及。 **取值范围**： 大小为\[1,604800\]的整数。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| collect_time | 是    | Long                                                                                          | **参数解释**： 数据收集时间 。UNIX时间戳，单位毫秒。 **约束限制**： 不涉及。 **取值范围**： 因为客户端到服务器端有延时，因此插入数据的时间戳应该在\[当前时间-3天+10秒，当前时间+10分钟-10秒\]区间内，保证到达服务器时不会因为传输时延造成数据不能插入数据库。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| value        | 是    | Double                                                                                        | **参数解释**： 待添加的监控指标数据的值。 **约束限制**： 不涉及。 **取值范围**： 数值类型支持"整数"或"浮点数"。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| unit         | 否    | String                                                                                        | **参数解释**： 数据的单位。 **约束限制**： 不涉及。 **取值范围**： 长度为\[0,32\]个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| type         | 否    | String                                                                                        | **参数解释**： 数据类型。 **约束限制**： 不涉及。 **取值范围**： 枚举值，只能是"int"或"float"。 - int：整数   - float：浮点数    **默认取值**： 不涉及。 |
   
 表4MetricInfo 
| 参数          | 是否必选 | 参数类型                                                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| namespace   | 是    | String                                                                                                              | **参数解释** 服务命名空间，样例：弹性云服务器的命名空间为SYS.ECS。 各服务命名空间请参阅[支持监控的服务列表](https://support.huaweicloud.com/api-ces/ces_03_0059.html)。 **约束限制** 不涉及 **取值范围** 格式为service.item，service和item以点号拼接组成。 service和item必须以字母（大写或小写）开头，后面可以跟零个或多个字母（大写或小写）、数字、下划线（_），长度为\[3,32\]个字符 **默认取值** 不涉及 |
| metric_name | 是    | String                                                                                                              | **参数解释**： 指标ID，例如弹性云服务器的监控指标CPU使用率，对应的metric_name为cpu_util。各服务资源的指标名称，请参阅具体云服务的文档。您可以直接从[支持监控的服务列表](https://support.huaweicloud.com/api-ces/ces_03_0059.html)页面导航至相应文档。 **约束限制**： 不涉及。 **取值范围**： 必须以字母开头，只能包含0-9/a-z/A-Z/_/-；如：弹性云服务器中的监控指标cpu_util，表示弹性服务器的CPU使用率；文档数据库中的指标mongo001_command_ps，表示command执行频率。字符串长度为\[1,96\]。 **默认取值**： 不涉及。                                                                           |
| dimensions  | 是    | Array of [MetricsDimension] objects | **参数解释** 指标维度 **约束限制** 包含的指标维度对象个数为\[1,4\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表5MetricsDimension 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| name  | 是    | String | **参数解释** 资源维度，如：弹性云服务器，则维度为instance_id；目前最大支持4个维度，各服务资源的维度名称，请参阅具体云服务的文档。您可以直接从[支持监控的服务列表](https://support.huaweicloud.com/api-ces/ces_03_0059.html)页面导航至相应文档。 **约束限制** 不涉及 **取值范围** 由字母开头，后面可以包含字母、数字、_或-，长度为\[1,32\]个字符 **默认取值** 不涉及 |
| value | 是    | String | **参数解释** 资源维度值，为资源的实例ID，如：4270ff17-aba3-4138-89fa-820594c39755。 **约束限制** 不涉及 **取值范围** 长度为\[1,256\]个字符 **默认取值** 不涉及                                                                                                                     |
   
#### 响应参数
**状态码：201**
Created
**状态码：400**
表6响应Body参数 
| 参数 | 参数类型   | 描述    |
|:---|:---|:---|
| -  | String | 请求错误。 |
   
**状态码：401**
表7响应Body参数 
| 参数 | 参数类型   | 描述               |
|:---|:---|:---|
| -  | String | 未提供认证信息，或认证信息错误。 |
   
**状态码：403**
表8响应Body参数 
| 参数 | 参数类型   | 描述         |
|:---|:---|:---|
| -  | String | 请求页面被禁止访问。 |
   
**状态码：408**
表9响应Body参数 
| 参数 | 参数类型   | 描述             |
|:---|:---|:---|
| -  | String | 请求超出了服务器的等待时间。 |
   
**状态码：429**
表10响应Body参数 
| 参数 | 参数类型   | 描述    |
|:---|:---|:---|
| -  | String | 请求过多。 |
   
**状态码：500**
表11响应Body参数 
| 参数 | 参数类型   | 描述          |
|:---|:---|:---|
| -  | String | 请求未完成，服务异常。 |
   
**状态码：503**
表12响应Body参数 
| 参数 | 参数类型   | 描述            |
|:---|:---|:---|
| -  | String | 系统暂时不可用，请求受限。 |
   
#### 请求示例
```
[ {
  "metric" : {
    "namespace" : "MINE.APP",
    "dimensions" : [ {
      "name" : "instance_id",
      "value" : "33328f02-3814-422e-b688-bfdba93d4050"
    } ],
    "metric_name" : "cpu_util"
  },
  "ttl" : 172800,
  "collect_time" : 1463598260000,
  "value" : 60,
  "unit" : "%"
}, {
  "metric" : {
    "namespace" : "MINE.APP",
    "dimensions" : [ {
      "name" : "instance_id",
      "value" : "33328f02-3814-422e-b688-bfdba93d4050"
    } ],
    "metric_name" : "cpu_util"
  },
  "ttl" : 172800,
  "collect_time" : 1463598270000,
  "value" : 70,
  "unit" : "%"
} ]
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 201 | Created               |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 408 | Request Timeout       |
| 429 | Too Many Requests     |
| 500 | Internal Server Error |
| 503 | Service Unavailable   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ces/ErrorCode.html)。
