Este tópico descreve como relatar dados de monitoramento por meio de uma solicitação HTTP.
Endpoints
Para obter mais informações sobre os endpoints para relatar eventos personalizados, consulte Apêndice 3: Endpoints para relatar dados de monitoramento.
Sintaxe da solicitação
O código a seguir apresenta a sintaxe da solicitação HTTP para relatar dados de monitoramento.
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}}]
Cabeçalhos e parâmetros da solicitação
As tabelas a seguir descrevem os cabeçalhos e os parâmetros da solicitação HTTP para relatar dados de monitoramento.
-
Cabeçalhos da solicitação
Cabeçalho
Tipo
Descrição
Exemplo
Authorization
String
String de autorização no formato
AccessKeyID:SignString.Para saber como obter o AccessKey ID, consulte Obter um par de AccessKey.
Para obter mais detalhes sobre como assinar uma string, consulte Algoritmo de assinatura: HMAC-SHA1
testKey:F86ADF652A6466FCCD860B867D9518D48C24E7F6Content-Length
Long
Comprimento do corpo da solicitação HTTP conforme definido na RFC 2616. A medição considera o número de bytes codificados em UTF-8.
NotaEste cabeçalho é obrigatório apenas se a solicitação tiver um corpo.
151Content-MD5
String
Hash MD5 do corpo da solicitação HTTP. Trata-se de uma string composta por letras maiúsculas e dígitos.
NotaEste cabeçalho é obrigatório apenas se a solicitação tiver um corpo.
215614AA47799058C009D3E20B19B83AContent-Type
String
Tipo de conteúdo enviado na solicitação HTTP. Defina o valor como
application/json.application/jsonDate
String
Cabeçalho de carimbo de data/hora padrão da solicitação HTTP. Segue o formato de hora definido na RFC 1123 e utiliza o horário padrão UTC.
Exemplo:
Mon, 3 Jan 2010 08:33:47 UTC.Fri, 27 Aug 2021 06:33:55 GMTHost
String
Nome de host completo da solicitação HTTP. Este cabeçalho não inclui prefixos de protocolo como https://.
Exemplo:
metrichub-cms-cn-hangzhou.aliyuncs.com.metrichub-cms-cn-hangzhou.aliyuncs.comx-cms-api-version
String
Versão da API. Defina o valor como 1,0.
1.0x-cms-signature
String
Algoritmo de assinatura. O CloudMonitor oferece suporte ao algoritmo de assinatura HMAC-SHA1.
hmac-sha1x-cms-ip
String
Endereço IP do host que relata os dados de monitoramento.
192.168.XX.XXUser-Agent
String
Descrição do cliente.
cms-java-sdk-v-1.0 -
Parâmetros da solicitação
Parâmetro
Tipo
Obrigatório
Descrição
groupId
Long
Sim
ID do grupo de aplicativos.
metricName
String
Sim
Nome da métrica. Para mais informações, consulte Apêndice 1: Métricas para produtos Alibaba Cloud.
dimensions
Object
Sim
Dimensões que especificam os recursos cujos dados de monitoramento serão consultados.
O valor consiste em um conjunto de pares chave-valor. Um par típico é
instanceId:i-abcdefgh12****.time
String
Sim
Carimbo de data/hora de geração da métrica. Valores válidos:
yyyyMMdd'T'HHmmss.SSSZ
Exemplo: 20171012T132456.888+0800
long
Exemplo: 1508136760000
type
Int
Sim
Tipo dos dados relatados. Valores válidos: 0 e 1. O valor 0 indica dados brutos; o valor 1 indica dados agregados.
Recomendamos relatar dados agregados nos períodos de agregação de 60 s e 300 s. Caso contrário, não será possível consultar dados de monitoramento em um intervalo superior a sete dias.
period
String
Não
Período de agregação. Unidade: segundos.
Se o parâmetro type estiver definido como 1, o parâmetro period será obrigatório. Valores válidos:
60
300
values
Object
Sim
Conjunto de valores da métrica.
Se o parâmetro type estiver definido como 0, as chaves neste parâmetro devem ser definidas com o valor especificado. O CloudMonitor agrega os dados brutos em cada período de agregação para gerar vários valores estatísticos, como valor máximo, contagem e valor total.
Exemplo de resposta
O código a seguir mostra um exemplo de resposta para uma solicitação HTTP que relata dados de monitoramento.
{
"code":"200",// The HTTP status code 200 indicates that the request was successful.
"msg":""// The value is empty if the monitoring data is reported.
}