Partilhar via


Enviar dados de registo para o Log Analytics com a API de Recoletor de Dados HTTP

A API de Recoletor de Dados HTTP do Azure Log Analytics permite-lhe PUBLICAR dados JSON numa Área de Trabalho do Log Analytics a partir de qualquer cliente que possa chamar a API REST. Ao utilizar este método, pode enviar dados de aplicações de terceiros ou de scripts, como a partir de um runbook no Automatização do Azure

URI do pedido

Para especificar a área de trabalho do Log Analytics, substitua {CustomerID} pelo ID da área de trabalho.

Método URI do pedido
Publicar https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01
Pedir Parâmetros do URI
Parâmetro Description
IDDeCliente Identificador exclusivo da área de trabalho do Log Analytics
Recurso Nome do recurso da API. /api/logs
Versão da API Versão da API a utilizar com este pedido. Atualmente 2016-04-01

Cabeçalhos do pedido

São necessários os cabeçalhos do pedido na tabela seguinte.

Cabeçalho Description
Autorização Veja informações adicionais abaixo sobre como criar um cabeçalho HMAC-SHA256
Content-Type Obrigatório. Defina esta opção como aplicação/json
Log-Type Permite-lhe especificar o nome da mensagem que está a ser submetida. Atualmente, o Tipo de registo só suporta carateres alfa. Não suporta carateres numéricos ou especiais
x-ms-date A data em que o pedido foi processado no formato RFC 1123
campo gerado pelo tempo Permite-lhe especificar o campo de carimbo de data/hora da mensagem para utilizar como o campo TimeGenerated. Isto permite-lhe configurar o TimeGenerated para refletir o carimbo de data/hora real dos dados da mensagem. Se este campo não for especificado, a predefinição para TimeGenerated quando a mensagem é ingerida. O campo de mensagem especificado deve seguir o ISO 8601 de YYYY-MM-DDThh:mm:ssZ

Cabeçalho de autorização

Qualquer pedido à API de Recoletor de Dados HTTP do Log Analytics tem de incluir o cabeçalho Autorização. Para autenticar um pedido, tem de assinar o pedido com a chave primária ou secundária da área de trabalho que está a fazer o pedido e transmitir essa assinatura como parte do pedido.

O formato do cabeçalho Autorização é o seguinte:

Authorization: SharedKey <WorkspaceID>:<Signature>

WorkspaceID é o identifer exclusivo da área de trabalho do Log Analytics e Signature é um Código de Autenticação de Mensagens (HMAC) baseado em Hash construído a partir do pedido e calculado com o algoritmo SHA256 e, em seguida, codificado com codificação Base64.

Construir a cadeia de assinatura

Para codificar a cadeia de assinatura chave partilhada, utilize o seguinte formato:

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

O exemplo seguinte mostra uma cadeia de assinatura:

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

Em seguida, codifica esta cadeia com o algoritmo HMAC-SHA256 através da cadeia de assinatura codificada UTF-8, construa o cabeçalho Autorização e adicione o cabeçalho ao pedido.

Codificar a Assinatura

Para codificar a assinatura, chame o algoritmo HMAC-SHA256 na cadeia de assinatura codificada UTF-8 e codifica o resultado como Base64. Utilize o seguinte formato (mostrado como pseudocódigo):

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

Corpo do pedido

O corpo da mensagem enviada para o ponto final.

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

Pode colocar várias mensagens do mesmo tipo num único corpo de pedido.

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

Limites de dados

Existem algumas restrições em torno dos dados publicados na API de Recolha de Dados do Log Analytics.

  • Máximo de 30 MB por publicação na API do Recoletor de Dados do Log Analytics. Este é um limite de tamanho para uma única publicação. Se os dados de uma única publicação excederem os 30 MB, deverá dividir os dados por segmentos de tamanho mais pequeno e enviá-los em simultâneo.
  • Limite máximo de 32 KB para valores dos campos. Se o valor do campo for superior a 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 perspetiva de experiência de pesquisa e usabilidade.

Ver também