Este tema describe cómo reportar datos de monitoreo mediante el envío de una solicitud HTTP.
Endpoints
Para obtener más información sobre los endpoints para reportar eventos personalizados, consulte Appendix 3: Endpoints for reporting monitoring data.
Sintaxis de la solicitud
A continuación se muestra la sintaxis de una solicitud HTTP que se utiliza para reportar datos de monitoreo.
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}}]
Encabezados y parámetros de la solicitud
Las siguientes tablas describen los encabezados y parámetros de una solicitud HTTP que se utiliza para reportar datos de monitoreo.
-
Encabezados de la solicitud
Encabezado
Tipo
Descripción
Ejemplo
Authorization
String
La cadena de autorización con el formato
AccessKeyID:SignString.Para obtener información sobre cómo conseguir el AccessKey ID, consulte Obtain an AccessKey pair.
Para obtener más información sobre cómo firmar una cadena, consulte Signature Algorithm: HMAC-SHA1
testKey:F86ADF652A6466FCCD860B867D9518D48C24E7F6Content-Length
Long
La longitud del cuerpo de la solicitud HTTP definida en RFC 2616. El cuerpo de la solicitud se mide por el número de bytes codificados en UTF-8.
NotaEste encabezado es obligatorio solo si la solicitud tiene un cuerpo.
151Content-MD5
String
El hash MD5 del cuerpo de la solicitud HTTP. El hash MD5 es una cadena compuesta por letras mayúsculas y dígitos.
NotaEste encabezado es obligatorio solo si la solicitud tiene un cuerpo.
215614AA47799058C009D3E20B19B83AContent-Type
String
El tipo de contenido que se envía en la solicitud HTTP. Establezca el valor en
application/json.application/jsonDate
String
El encabezado de marca de tiempo estándar de la solicitud HTTP. Este encabezado sigue el formato de hora definido en RFC 1123 y utiliza la hora estándar UTC.
Ejemplo:
Mon, 3 Jan 2010 08:33:47 UTC.Fri, 27 Aug 2021 06:33:55 GMTHost
String
El nombre de host completo de la solicitud HTTP. Este encabezado no incluye encabezados de protocolo como https://.
Ejemplo:
metrichub-cms-cn-hangzhou.aliyuncs.com.metrichub-cms-cn-hangzhou.aliyuncs.comx-cms-api-version
String
La versión de la API. Establezca el valor en 1.0.
1.0x-cms-signature
String
El algoritmo de firma. CloudMonitor admite el algoritmo de firma HMAC-SHA1.
hmac-sha1x-cms-ip
String
La dirección IP del host que reporta los datos de monitoreo.
192.168.XX.XXUser-Agent
String
La descripción del cliente.
cms-java-sdk-v-1.0 -
Parámetros de la solicitud
Parámetro
Tipo
Obligatorio
Descripción
groupId
Long
Sí
El ID del grupo de aplicaciones.
metricName
String
Sí
El nombre de la métrica. Para obtener más información, consulte Appendix 1: Metrics for Alibaba Cloud products.
dimensions
Object
Sí
Las dimensiones que especifican los recursos cuyos datos de monitoreo desea consultar.
El valor es un conjunto de pares clave-valor. Un par típico es
instanceId:i-abcdefgh12****.time
String
Sí
La marca de tiempo en la que se genera la métrica. Valores válidos:
yyyyMMdd'T'HHmmss.SSSZ
Ejemplo: 20171012T132456.888+0800
long
Ejemplo: 1508136760000
type
Int
Sí
El tipo de datos reportados. Valores válidos: 0 y 1. El valor 0 indica datos sin procesar y el valor 1 indica datos agregados.
Se recomienda reportar datos agregados tanto en los periodos de agregación de 60 s como de 300 s. De lo contrario, no podrá consultar datos de monitoreo en un lapso superior a siete días.
period
String
No
El periodo de agregación. Unidad: segundos.
Si el parámetro type se establece en 1, el parámetro period es obligatorio. Valores válidos:
60
300
values
Object
Sí
El conjunto de valores de la métrica.
Si el parámetro type se establece en 0, las claves de este parámetro deben configurarse con el valor especificado. CloudMonitor agrega los datos sin procesar en cada periodo de agregación para generar varios valores estadísticos, como el valor máximo, el recuento y el valor total.
Respuesta de ejemplo
A continuación se muestra la respuesta de ejemplo a una solicitud HTTP que reporta datos de monitoreo.
{
"code":"200",// The HTTP status code 200 indicates that the request was successful.
"msg":""// The value is empty if the monitoring data is reported.
}