Share via


Enviar dados de log para o Log Analytics com a API do Coletor de Dados HTTP

A API do Coletor de Dados HTTP do Azure Log Analytics permite postar dados JSON em um workspace do Log Analytics de qualquer cliente que possa chamar a API REST. Usando esse método, você pode enviar dados de aplicativos de terceiros ou de scripts, como de um runbook no Automação do Azure

URI da solicitação

Para especificar seu workspace do Log Analytics, substitua {CustomerID} pela ID do workspace.

Método URI da solicitação
Postar https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01
Solicitação Parâmetros de URI
Parâmetro Descrição
CustomerID Identificador exclusivo para o workspace do Log Analytics
Recurso Nome do recurso de API. /api/logs
Versão da API Versão da API a ser usada com essa solicitação. Atualmente 01/04/2016

Cabeçalhos da solicitação

Os cabeçalhos de solicitação na tabela a seguir são obrigatórios.

parâmetro Descrição
Autorização Veja informações adicionais abaixo sobre como criar um cabeçalho HMAC-SHA256
Tipo de conteúdo Obrigatórios. Defina isso como application/json
Log-Type Permite especificar o nome da mensagem que está sendo enviada. Atualmente, o tipo log dá suporte apenas a caracteres alfa. Ele não dá suporte a caracteres numéricos ou especiais
x-ms-date A data em que a solicitação foi processada no formato RFC 1123
time-generated-field Permite que você especifique o campo de carimbo de data/hora da mensagem a ser usado como o campo TimeGenerated. Isso permite que você configure o TimeGenerated para refletir o carimbo de data/hora real dos dados da mensagem. Se esse campo não for especificado, o padrão será TimeGenerated quando a mensagem for ingerida. O campo de mensagem especificado deve seguir o ISO 8601 de AAAA-MM-DDThh:mm:ssZ

Cabeçalho de autorização

Qualquer solicitação para a API do Coletor de Dados HTTP do Log Analytics deve incluir o cabeçalho Autorização. Para autenticar uma solicitação, você deve assinar a solicitação com a chave primária ou secundária para o workspace que está fazendo a solicitação e passar essa assinatura como parte da solicitação.

O formato do cabeçalho Authorization é o seguinte:

Authorization: SharedKey <WorkspaceID>:<Signature>

WorkspaceID é o identificador exclusivo para o workspace do Log Analytics e Signature é um HMAC (Código de Autenticação de Mensagem baseado em Hash) construído a partir da solicitação e calculado usando o algoritmo SHA256 e codificado usando a codificação Base64.

Construindo a cadeia de caracteres de assinatura

Para codificar a cadeia de caracteres de assinatura de Chave Compartilhada, use o seguinte formato:

	StringToSign = VERB + "\n" +
	Content-Length + "\n" +
	Content-Type + "\n" +
	x-ms-date + "\n" +
	"/api/logs";

O exemplo a seguir mostra uma cadeia de caracteres de assinatura:

POST \n1024\napplication/json\nx-ms-date:Mon, 04 Apr 2016 08:00:00 GMT\n/api/logs

Em seguida, codifique essa cadeia de caracteres usando o algoritmo HMAC-SHA256 sobre a cadeia de caracteres de assinatura codificada em UTF-8, construa o cabeçalho Authorization e adicione o cabeçalho à solicitação.

Codificando a assinatura

Para codificar a assinatura, chame o algoritmo HMAC-SHA256 na cadeia de caracteres de assinatura de com codificação UTF-8 codificar o resultado na Base64. Use o seguinte formato (mostrado como pseudocódigo):

Signature=Base64(HMAC-SHA256(UTF8(StringToSign)))

Corpo da solicitação

O corpo da mensagem enviada ao ponto de extremidade.

	{
	  "key1": "value1",
	  "key2": "value2",
	  "key3": "value3",
	  "key4": "value4"
	}

Você pode enviar em lote várias mensagens do mesmo tipo em um único corpo de solicitação.

	[
	  {
	    "key1": "value1",
	    "key2": "value2",
	    "key3": "value3",
	    "key4": "value4"
	  },
	  {
	    "key1": "value5",
	    "key2": "value6",
	    "key3": "value7",
	    "key4": "value8"
	  }
	]

Limites de dados

Há algumas restrições sobre os dados publicados na API de coleta de dados do Log Analytics.

  • Máximo de 30 MB por post na API do coletor de dados do Log Analytics. Este é um limite de tamanho para um único post. Se os dados de uma única postagem excederem 30 MB, será necessário dividi-los em partes menores e enviá-los simultaneamente.
  • Limite máximo de 32 KB para valores de campo. Se o valor do campo for maior do que 32 KB, os dados serão truncados.
  • O número máximo recomendado de campos para um determinado tipo é 50. Este é um limite prático de uma perspectiva de experiência de pesquisa e usabilidade.

Confira também