Skicka loggdata till Log Analytics med HTTP Data Collector-API:et

Med Azure Log Analytics HTTP Data Collector-API:et kan du POSTA JSON-data till en Log Analytics-arbetsyta från valfri klient som kan anropa REST-API:et. Med den här metoden kan du skicka data från program från tredje part eller från skript, till exempel från en runbook i Azure Automation

Begäran om URI

Om du vill ange din Log Analytics-arbetsyta ersätter du {CustomerID} med arbetsytans ID.

Metod Begäran om URI
Inlägg https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01
Begäran URI parametrar
Parameter Beskrivning
KundID Unik identifierare för Log Analytics-arbetsytan
Resurs Namn på API-resurs. /api/logs
API-version Version av API:et som ska användas med den här begäran. Aktuellt 2016-04-01

Förfrågningsrubriker

Begärandehuvudena i följande tabell är obligatoriska.

Header Beskrivning
Auktorisering Se ytterligare information nedan om hur du skapar en HMAC-SHA256-rubrik
Innehållstyp Obligatoriskt. Ställ in detta på application/json
Loggtyp Gör att du kan ange namnet på det meddelande som skickas. För närvarande stöder loggtypen endast alfatecken. Den stöder inte siffror eller specialtecken
x-ms-datum Det datum då begäran bearbetades i RFC 1123-format
tidsgenererat fält Gör att du kan ange meddelandets tidsstämpelfält som ska användas som TimeGenerated-fält. På så sätt kan du konfigurera TimeGenerated så att den återspeglar den faktiska tidsstämpeln från meddelandedata. Om det här fältet inte anges är standardvärdet för TimeGenerated när meddelandet matas in. Meddelandefältet som anges ska följa ISO 8601 för YYYY-MM-DDThh:mm:ssZ

Behörighetsrubrik

Alla begäranden till Log Analytics HTTP Data Collector-API:et måste innehålla auktoriseringshuvudet. Om du vill autentisera en begäran måste du signera begäran med antingen den primära eller sekundära nyckeln för arbetsytan som gör begäran och skicka signaturen som en del av begäran.

Formatet för auktoriseringshuvudet är följande:

Authorization: SharedKey <WorkspaceID>:<Signature>

WorkspaceID är den unika identifieraren för Log Analytics-arbetsytan och signaturen är en hash-baserad kod för meddelandeautentisering (HMAC) som konstrueras från begäran och beräknas med hjälp av SHA256-algoritmen och sedan kodas med Base64-kodning.

Konstruera signatursträngen

Om du vill koda signatursträngen för delad nyckel använder du följande format:

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

I följande exempel visas en signatursträng:

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

Koda sedan den här strängen med hjälp av den HMAC-SHA256 algoritmen över den UTF-8-kodade signatursträngen, konstruera auktoriseringshuvudet och lägg till rubriken i begäran.

Kodning av signaturen

Om du vill koda signaturen anropar du HMAC-SHA256-algoritmen på den UTF-8-kodade signatursträngen och kodar resultatet som Base64. Använd följande format (visas som pseudokod):

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

begäranens innehåll

Brödtexten i meddelandet som skickas till slutpunkten.

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

Du kan batcha flera meddelanden av samma typ i en enda begärandetext.

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

Databegränsningar

Det finns vissa begränsningar kring de data som publiceras i Log Analytics-API:et för datainsamling.

  • Högst 30 MB per inlägg till Log Analytics Data Collector API. Det här är en storleksgräns för ett enda inlägg. Om data från ett enda inlägg som överstiger 30 MB bör du dela upp data i mindre bitar och skicka dem samtidigt.
  • Högst 32 kB för fältvärden. Om fältvärdet är större än 32 kB kommer data att trunkeras.
  • Det rekommenderade maximala antalet fält för en specifik typ är 50. Detta är en praktisk gräns med tanke på användbarhet och sökfunktion.

Se även