Skicka Azure-resursloggar till Log Analytics-arbetsytor, händelsehubbar eller Azure Storage

Azure-resursloggar är plattformsloggar som ger insikter om åtgärder som utförs i en Azure-resurs. Innehållet i resursloggarna skiljer sig åt för varje resurstyp. Resursloggar samlas inte in som standard. Om du vill samla in resursloggar måste du aktivera och konfigurera diagnostikinställningar eller använda regler för datainsamling. Mer information om regler för datainsamling finns i Datainsamlingsregler i Azure Monitor. I den här artikeln beskrivs diagnostikinställningen som krävs för att varje Azure-resurs ska skicka sina resursloggar till Log Analytics-arbetsytor, Event Hubs eller Azure Storage.

Skicka till Log Analytics-arbetsytan

Skicka resursloggar till en Log Analytics-arbetsyta för att aktivera funktionerna i Azure Monitor-loggar, där du kan:

  • Korrelera resursloggdata med andra övervakningsdata som samlas in av Azure Monitor.
  • Konsolidera loggposter från flera Azure-resurser, prenumerationer och klientorganisationer till en plats för analys tillsammans.
  • Använd loggfrågor för att utföra komplex analys och få djupgående insikter om loggdata.
  • Använd loggsökningsaviseringar med komplex aviseringslogik.

Skapa en diagnostikinställning för att skicka resursloggar till en Log Analytics-arbetsyta. Dessa data lagras i tabeller enligt beskrivningen i Struktur för Azure Monitor-loggar. Vilka tabeller som används av resursloggar beror på vilken resurstyp och vilken typ av samling resursen använder. Det finns två typer av samlingslägen för resursloggar:

  • Azure-diagnostik: Alla data skrivs till AzureDiagnostics-tabellen.
  • Resursspecifik: Data skrivs till enskilda tabeller för varje kategori av resursen.

Resursspecifik

För loggar som använder resursspecifikt läge skapas enskilda tabeller i den valda arbetsytan för varje loggkategori som valts i diagnostikinställningen. Resursspecifika loggar har följande fördelar jämfört med Azure-diagnostikloggar:

  • Gör det enklare att arbeta med data i loggfrågor.
  • Ger bättre identifiering av scheman och deras struktur.
  • Förbättrar prestanda mellan svarstider för inmatning och frågetider.
  • Ger möjlighet att bevilja rollbaserad åtkomstkontroll i Azure i en specifik tabell.

En beskrivning av resursspecifika loggar och tabeller finns i Resursloggkategorier som stöds för Azure Monitor

Azure-diagnostikläge

I Azure-diagnostikläge samlas alla data från alla diagnostikinställningar in i tabellen AzureDiagnostics . Den här äldre metoden används idag av en minoritet av Azure-tjänsterna. Eftersom flera resurstyper skickar data till samma tabell är schemat superuppsättningen av scheman för alla olika datatyper som samlas in. Mer information om strukturen i den här tabellen och hur den fungerar med det här potentiellt stora antalet kolumner finns i Referens för AzureDiagnostics.

Tabellen AzureDiagnostics innehåller resourceId för resursen som genererade loggen, loggkategorin och den tid då loggen genererades samt resursspecifika egenskaper.

En skärmbild som visar tabellen AzureDiagnostics på en Log Analytics-arbetsyta.

Välj samlingsläge

De flesta Azure-resurser skriver data till arbetsytan i antingen Azure-diagnostik eller resursspecifikt läge utan att ge dig något val. Mer information finns i Vanliga och tjänstspecifika scheman för Azure-resursloggar.

Alla Azure-tjänster kommer så småningom att använda det resursspecifika läget. Som en del av den här övergången kan du med vissa resurser välja ett läge i diagnostikinställningen. Ange resursspecifikt läge för nya diagnostikinställningar eftersom det här läget gör data enklare att hantera. Det kan också hjälpa dig att undvika komplexa migreringar senare.

Skärmbild som visar väljaren för läge för diagnostikinställningar.

Kommentar

Ett exempel som anger samlingsläget med hjälp av en Azure Resource Manager-mall finns i Resource Manager-mallexempel för diagnostikinställningar i Azure Monitor.

Du kan ändra en befintlig diagnostikinställning till resursspecifikt läge. I det här fallet finns data som redan samlats in kvar i AzureDiagnostics tabellen tills de tas bort enligt kvarhållningsinställningen för arbetsytan. Nya data samlas in i den dedikerade tabellen. Använd union-operatorn för att fråga efter data i båda tabellerna.

Fortsätt att titta på Azure Updates-bloggen för meddelanden om Azure-tjänster som stöder resursspecifikt läge.

Skicka till Azure Event Hubs

Skicka resursloggar till en händelsehubb för att skicka dem utanför Azure. Resursloggar kan till exempel skickas till en SIEM från tredje part eller andra log analytics-lösningar. Resursloggar från händelsehubbar används i JSON-format med ett records element som innehåller posterna i varje nyttolast. Schemat beror på resurstypen enligt beskrivningen i Vanliga och tjänstspecifika scheman för Azure-resursloggar.

Följande exempeldata kommer från Azure Event Hubs för en resurslogg:

{
    "records": [
        {
            "time": "2019-07-15T18:00:22.6235064Z",
            "workflowId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330013509921957/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Error",
            "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T17:58:55.048482Z",
                "endTime": "2016-07-15T18:00:22.4109204Z",
                "status": "Failed",
                "code": "BadGateway",
                "resource": {
                    "subscriptionId": "AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "2222cccc-33dd-eeee-ff44-aaaaaa555555",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330013509921957",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "3333dddd-44ee-ffff-aa55-bbbbbbbb6666",
                    "clientTrackingId": "08587330013509921958"
                }
            }
        },
        {
            "time": "2019-07-15T18:01:15.7532989Z",
            "workflowId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330012106702630/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Information",
            "operationName": "Microsoft.Logic/workflows/workflowActionStarted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T18:01:15.5828115Z",
                "status": "Running",
                "resource": {
                    "subscriptionId": "AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "dddd3333-ee44-5555-66ff-777777aaaaaa",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330012106702630",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "ffff5555-aa66-7777-88bb-999999cccccc",
                    "clientTrackingId": "08587330012106702632"
                }
            }
        }
    ]
}

Skicka till Azure Storage

Skicka resursloggar till Azure Storage för att behålla dem för arkivering. När du har skapat diagnostikinställningen skapas en lagringscontainer i lagringskontot så snart en händelse inträffar i någon av de aktiverade loggkategorierna.

Kommentar

Ett alternativ till arkivering är att skicka resursloggen till en tabell på Log Analytics-arbetsytan med låg kostnad och långsiktig kvarhållning.

Blobarna i containern använder följande namngivningskonvention:

insights-logs-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/RESOURCEGROUPS/{resource group name}/PROVIDERS/{resource provider name}/{resource type}/{resource name}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

Blobben för en nätverkssäkerhetsgrupp kan ha ett namn som liknar det här exemplet:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/h=18/m=00/PT1H.json

Varje PT1H.json blob innehåller ett JSON-objekt med händelser från loggfiler som togs emot under den timme som anges i blob-URL:en. Under den här timmen läggs händelser till i PT1H.json-filen när de tas emot, oavsett när de genererades. Minutvärdet i URL:en m=00 är alltid 00 som blobar skapas per timme.

I filen PT1H.json lagras varje händelse i följande format. Den använder ett vanligt schema på den översta nivån men är unikt för varje Azure-tjänst, enligt beskrivningen i Schemat för resursloggar.

Kommentar

Loggar skrivs till blobar baserat på den tid då loggen togs emot, oavsett när den genererades. Det innebär att en viss blob kan innehålla loggdata som ligger utanför den timme som anges i blobens URL. Om en datakälla som Application Insights stöder uppladdning av inaktuell telemetri kan en blob innehålla data från de senaste 48 timmarna.
I början av en ny timme är det möjligt att befintliga loggar fortfarande skrivs till föregående timmes blob medan nya loggar skrivs till den nya timmens blob.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{12345678-9012-3456-7890-123456789012}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

Partnerintegrering i Azure Monitor

Resursloggar kan också skickas till partnerlösningar som är helt integrerade i Azure. En lista över dessa lösningar och information om hur du konfigurerar dem finns i Azure Monitor-partnerintegreringar.

Nästa steg