Partilhar via


Enviar dados de log para o Log Analytics com a API do HTTP Data Collector

A API do Coletor de Dados HTTP do Azure Log Analytics permite que você publique dados JSON em um Espaço de Trabalho 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 na Automação do Azure

Solicitar URI

Para especificar seu espaço de trabalho de análise de log, substitua {CustomerID} pelo ID do seu espaço de trabalho.

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

Cabeçalhos da requisição

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

Cabeçalho Descrição
Autorização Veja informações adicionais abaixo sobre como criar um cabeçalho HMAC-SHA256
Tipo de conteúdo Obrigatório Defina isso como application/json
Tipo de Registo Permite especificar o nome da mensagem que está sendo enviada. Atualmente, o tipo de log suporta apenas caracteres alfa. Não suporta números ou caracteres especiais
x-ms-date A data em que a solicitação foi processada no formato RFC 1123
campo gerado pelo tempo Permite especificar o campo de carimbo de data/hora da mensagem para usar como o campo TimeGerado. Isso permite configurar o TimeGenerated para refletir o carimbo de data/hora real dos dados da mensagem. Se esse campo não for especificado, o padrão para TimeGenerated quando a mensagem for ingerida. O campo de mensagem especificado deve seguir a norma ISO 8601 de AAAA-MM-DDThh:mm:ssZ

Cabeçalho de autorização

Qualquer solicitação para a API do Coletor de Dados HTTP de análise de log deve incluir o cabeçalho Authorization. Para autenticar uma solicitação, você deve assiná-la com a chave primária ou secundária do espaço de trabalho 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 espaço de trabalho do Log Analytics e Signature é um HMAC (Hash-based Message Authentication Code) construído a partir da solicitação e calculado usando o algoritmo SHA256 e, em seguida, 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 codificada em UTF-8 e codifique o resultado como Base64. Use o seguinte formato (mostrado como pseudocódigo):

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

Corpo de solicitação

O corpo da mensagem enviada para o ponto de extremidade.

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

Você pode agrupar 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 em torno dos dados postados na API de coleta de dados do Log Analytics.

  • Máximo de 30 MB por postagem na API do Coletor de Dados do Log Analytics. Este é um limite de tamanho para uma única publicação. Se os dados de uma única postagem excederem 30 MB, você deve dividir os dados em blocos de tamanho menor e enviá-los simultaneamente.
  • Limite máximo de 32 KB para valores dos campos. Se o valor do campo for maior 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 do ponto de vista da usabilidade e da experiência de pesquisa.

Ver também