更新时间:2024-04-18 GMT+08:00

添加监控数据

功能介绍

添加一条或多条自定义指标监控数据,解决系统监控指标不能满足具体业务需求的场景。

URI

POST /V1.0/{project_id}/metric-data

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    项目ID。

    获取方式请参见获取项目ID

请求消息

  1. 单次POST请求消息体大小不能超过512KB,否则请求会被服务端拒绝。
  2. POST请求发送周期应小于最小聚合周期,否则会出现聚合数据点不连续。例如:聚合周期为5分钟,发送周期为7分钟,则5分钟情况的聚合数据会出现每10分钟才出现一个点。
  3. POST请求体中时间戳(collect_time)的值必须从当前时间的前三天到当前时间后的十分钟之内某一时间,如果不在这个范围内,则不允许插入指标数据。
  • 请求参数
    表2 参数说明

    名称

    参数类型

    是否必选

    说明

    数组元素

    Array of objects

    添加一条或多条自定义指标监控数据。

    详细参数请参见表3

    表3 数组元素

    名称

    是否必选

    参数类型

    说明

    metric

    Object

    指标数据。

    详细参数请参见表4

    ttl

    Integer

    数据的有效期,超出该有效期则自动删除该数据,单位秒,取值范围(0-604800]。

    collect_time

    Long

    数据收集时间

    UNIX时间戳,单位毫秒。

    说明:

    因为客户端到服务器端有延时,因此插入数据的时间戳应该在[当前时间-3天+20秒,当前时间+10分钟-20秒]区间内,保证到达服务器时不会因为传输时延造成数据不能插入数据库。

    value

    Double

    待添加的监控指标数据的值。

    数值类型支持“整数”或“浮点数”。

    unit

    String

    数据的单位。

    最大长度为32位。

    type

    String

    枚举型。

    取值范围:

    • int
    • float
    表4 metric字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    namespace

    String

    自定义的命名空间,例如弹性云服务器命名空间

    格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,service.item总长度最短为3,最大为32,其中service不能为“SYS”、“AGT”和“SRE”,namespace不能为SERVICE.BMS,因为此namespace已被系统使用。

    当alarm_type为(EVENT.SYS| EVENT.CUSTOM)时允许为空。

    dimensions

    Array of objects

    指标的维度,目前最大支持3个维度。

    详细参数请参见表5

    metric_name

    String

    指标ID,例如弹性云服务器的监控指标CPU使用率,对应的metric_name为cpu_util。

    表5 dimensions字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    name

    String

    监控维度名称,例如弹性云服务器的维度instance_id,可参考维度中key字段。

    必须以字母开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为32。

    value

    String

    维度取值,例如弹性云服务器ID。

    必须以字母或数字开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为256。

  • 请求样例
    请求样例一:添加自定义的维度instance_id为6f3c6f91-4b24-4e1b-b7d1-a94ac1cb011d的监控指标数据cpu_util。
    [
        {
            "metric": {
                "namespace": "MINE.APP",
                "dimensions": [
                    {
                        "name": "instance_id",
                        "value": "6f3c6f91-4b24-4e1b-b7d1-a94ac1cb011d"
                    }
                ],
                "metric_name": "cpu_util"
            },
            "ttl": 172800,
            "collect_time": 1463598260000,
            "type": "float",
            "value": 0.09,
            "unit": "%"
        },
       {
            "metric": {
                "namespace": "MINE.APP",
                "dimensions": [
                    {
                        "name": "instance_id",
                        "value": "6f3c6f91-4b24-4e1b-b7d1-a94ac1cb011d"
                    }
                ],
                "metric_name": "cpu_util"
            },
            "ttl": 172800,
            "collect_time": 1463598270000,
            "type": "float",
            "value": 0.12,
            "unit": "%"
        }
    ]
    请求样例二:添加关系型数据库的维度rds_cluster_id为3c8cc15614ab46f5b8743317555e0de2in01的监控指标数据rds021_myisam_buf_usage。
    [
       {
            "metric": {
                "namespace": "SYS.RDS",
                "dimensions": [
                    {
                        "name": "rds_cluster_id",
                        "value": "3c8cc15614ab46f5b8743317555e0de2in01"
                    }
                ],
                "metric_name": "rds021_myisam_buf_usage"
            },
            "ttl": 172800,
            "collect_time": 1463598260000,
            "type": "float",
            "value": 0.01,
            "unit": "Ratio"
        }
    ]

响应消息

无消息体。

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误。

    401 Unauthorized

    未提供认证信息,或认证信息错误。

    403 Forbidden

    请求页面被禁止访问。

    408 Request Timeout

    请求超出了服务器的等待时间。

    429 Too Many Requests

    当前请求过多。

    500 Internal Server Error

    请求未完成,服务异常。

    503 Service Unavailable

    系统暂时不可用,请求受限。

错误码

请参考返回错误码说明