Compartir a través de


Envío de datos de registro a Log Analytics con la API del recopilador de datos HTTP

La API del recopilador de datos HTTP de Azure Log Analytics permite enviar datos JSON a un área de trabajo de Log Analytics desde cualquier cliente que pueda llamar a la API de REST. Con este método, puede enviar datos desde aplicaciones de terceros o desde scripts, como desde un runbook en Azure Automation

Solicitud de URI

Para especificar el área de trabajo de Log Analytics, reemplace {CustomerID} por el identificador del área de trabajo.

Método Solicitud de URI
Publicar https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01
Solicitud Parámetros de URI
Parámetro Descripción
ID de Cliente Identificador único para el área de trabajo de Log Analytics
Recurso Nombre del recurso de API. /api/logs
Versión de la API Versión de la API que se utilizará con esta solicitud. Actualmente 2016-04-01

Cabeceras de solicitud

Los encabezados de solicitud de la tabla siguiente son obligatorios.

Cabecera Descripción
Autorización Consulte la información adicional a continuación sobre la creación de un encabezado HMAC-SHA256
Tipo de contenido Obligatorio. Establezca esto en application/json
Tipo de registro Permite especificar el nombre del mensaje que se está enviando. Actualmente, el tipo de registro solo admite caracteres alfabéticos. No admite caracteres numéricos ni especiales
x-ms-fecha La fecha en que se procesó la solicitud en formato RFC 1123
campo generado por el tiempo Permite especificar el campo de marca de tiempo del mensaje que se utilizará como campo TimeGenerated. Esto le permite configurar TimeGenerated para reflejar la marca de tiempo real de los datos del mensaje. Si no se especifica este campo, el valor predeterminado es TimeGenerated cuando se ingiere el mensaje. El campo de mensaje especificado debe seguir la norma ISO 8601 de AAAA-MM-DDThh:mm:ssZ

Encabezado de autorización

Cualquier solicitud a la API del recopilador de datos HTTP de Log Analytics debe incluir el encabezado Authorization. Para autenticar una solicitud, debe firmar la solicitud con la clave principal o secundaria del área de trabajo que realiza la solicitud y pasar esa firma como parte de la solicitud.

El formato del encabezado Authorization es el siguiente:

Authorization: SharedKey <WorkspaceID>:<Signature>

WorkspaceID es el identificador único para el área de trabajo de Log Analytics y Signature es un código de autenticación de mensajes basado en hash (HMAC) construido a partir de la solicitud y calculado mediante el algoritmo SHA256 y, a continuación, codificado mediante codificación Base64.

Construyendo la cadena de firma

Para codificar la cadena de armadura de clave compartida, use el siguiente formato:

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

En el ejemplo siguiente se muestra una cadena de firma:

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

A continuación, codifique esta cadena mediante el algoritmo HMAC-SHA256 sobre la cadena de firma codificada en UTF-8, construya el encabezado Authorization y agregue el encabezado a la solicitud.

Codificación de la firma

Para codificar la firma, llame al algoritmo HMAC-SHA256 en la cadena de firma codificada en UTF-8 y codifique el resultado como Base64. Utilice el siguiente formato (que se muestra como pseudocódigo):

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

Cuerpo de la solicitud

El cuerpo del mensaje enviado al punto de conexión.

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

Puede agrupar varios mensajes del mismo tipo en un único cuerpo de solicitud.

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

Límites de datos

Existen algunas restricciones en torno a los datos publicados en la API de recopilación de datos de Log Analytics.

  • Máximo de 30 MB por publicación en la API del recopilador de datos de Log Analytics. Se trata de un límite de tamaño para una sola publicación. Si los datos de una sola publicación superan los 30 MB, debe dividir los datos en fragmentos de menor tamaño y enviarlos al mismo tiempo.
  • Límite de 32 kB para los valores de campo. Si el valor del campo es mayor que 32 KB, los datos se truncarán.
  • El número máximo recomendado de campos para un tipo determinado es 50. Se trata de un límite práctico desde una perspectiva de facilidad de uso y experiencia de búsqueda.

Consulte también