本文为您介绍通过HTTP上报监控数据的配置方法。
服务地址
云监控用于上报自定义事件的服务地址,请参见上报监控数据的服务地址。
请求语法
通过HTTP方式上报监控数据的请求语法如下:
POST /metric/custom/upload HTTP/1.1
Authorization:<AuthorizationString>
Content-Length:<Content Length>
Content-MD5:<Content MD5>
Content-Type:application/json
Date:<GMT Date>
Host: metrichub-cms-cn-hangzhou.aliyuncs.com
x-cms-signature:hmac-sha1
x-cms-api-version:1.0
x-cms-ip:192.168.XX.XX
User-Agent:cms-java-sdk-v-1.0
[{"dimensions":{"key":"value"},"groupId":12345,"metricName":"TestMetric","period":60,"time":"20210827T143329.213+0800","type":0,"values":{"value":10}}]
请求参数
通过HTTP方式上报监控数据的请求头和请求参数说明如下表所示。
- 请求头
Header 类型 描述 示例 Authorization String 内容: AccessKeyId:SignString
。- AccessKey ID的获取方法,请参见获取AccessKey。
- SignString的签名方法,请参见签名算法:HMAC-SHA1。
testKey:F86ADF652A6466FCCD860B867D9518D48C24E7F6
Content-Length Long RFC 2616中定义的HTTP请求的Body长度。请求Body按UTF-8编码后的字节数。 说明 如果请求无Body部分,则无需提供该请求头。151
Content-MD5 String 请求Body经过MD5计算后的字符串,计算结果为大写字母和数字字符串。 说明 如果请求无Body部分,则无需提供该请求头。215614AA47799058C009D3E20B19B83A
Content-Type String 发送端发送的实体数据的数据类型。只支持 application/json
。application/json
Date String HTTP请求中的标准时间头(遵循RFC 1123格式,使用GMT标准时间)。 示例:
Mon, 3 Jan 2010 08:33:47 GMT
。Fri, 27 Aug 2021 06:33:55 GMT
Host String HTTP请求的完整Host名称(不包括如https://这样的协议头)。 示例:
metrichub-cms-cn-hangzhou.aliyuncs.com
metrichub-cms-cn-hangzhou.aliyuncs.com
x-cms-api-version String API版本。当前版本1.0。 1.0
x-cms-signature String 签名算法。目前,云监控只支持数字签名算法HMAC-SHA1。 hmac-sha1
x-cms-ip String 上报监控数据的服务器IP地址。 192.168.XX.XX
User-Agent String 客户端说明。 cms-java-sdk-v-1.0
- 请求参数
名称 类型 是否必选 描述 groupId Long 是 应用分组ID。 metricName String 是 监控项名称。详情请参见云服务监控项。 dimensions Object 是 维度Map,用于查询指定资源的监控数据。 格式:key-value键值对形式的集合,常用的key-value集合为
instanceId:i-abcdefgh12****
。time String 是 指标生成时间。支持的格式如下: - yyyyMMdd’T’HHmmss.SSSZ
例如:20171012T132456.888+0800
- long
例如:1508136760000
type Int 是 上报数值的类型。0为原始值,1为聚合数据。
当上报聚合数据时,建议上报60秒和300秒的数据,否则无法正常查询跨度大于7天的监控数据。
period String 否 聚合周期。单位:秒。
如果type为1,则需要上传该参数,取值:- 60
- 300
values Object 是 指标值集合。 如果type为0,则Key只能与Value相同,上报原始值,云监控会按周期将原始值聚合为多个值。例如:最大、计数、求和等。
- yyyyMMdd’T’HHmmss.SSSZ
返回示例
通过HTTP方式上报监控数据的代码返回示例如下:
{
"code":"200",//200表示成功。
"msg":""//正常上报时返回msg为空。
}