本文為您介紹通過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":""http://正常上報時返回msg為空。
}