Azure-resourcelogboeken verzenden naar Log Analytics-werkruimten, Event Hubs of Azure Storage
Azure-resourcelogboeken zijn platformlogboeken die inzicht bieden in bewerkingen die worden uitgevoerd in een Azure-resource. De inhoud van resourcelogboeken verschilt voor elk resourcetype. Resourcelogboeken worden niet standaard verzameld. Als u resourcelogboeken wilt verzamelen, moet u diagnostische instellingen inschakelen en configureren of regels voor gegevensverzameling gebruiken. Zie Regels voor gegevensverzameling in Azure Monitor voor meer informatie over regels voor gegevensverzameling. In dit artikel wordt de diagnostische instelling beschreven die is vereist voor elke Azure-resource om de resourcelogboeken te verzenden naar Log Analytics-werkruimten, Event Hubs of Azure Storage.
Verzenden naar Log Analytics-werkruimte
Resourcelogboeken verzenden naar een Log Analytics-werkruimte om de functies van Azure Monitor-logboeken in te schakelen, waar u het volgende kunt doen:
- Correleert resourcelogboekgegevens met andere bewakingsgegevens die zijn verzameld door Azure Monitor.
- Voeg logboekvermeldingen van meerdere Azure-resources, -abonnementen en -tenants samen tot één locatie voor analyse.
- Gebruik logboekquery's om complexe analyses uit te voeren en uitgebreide inzichten te krijgen in logboekgegevens.
- Gebruik waarschuwingen voor zoeken in logboeken met complexe waarschuwingslogica.
Maak een diagnostische instelling voor het verzenden van resourcelogboeken naar een Log Analytics-werkruimte. Deze gegevens worden opgeslagen in tabellen, zoals beschreven in structuur van Azure Monitor-logboeken. De tabellen die door resourcelogboeken worden gebruikt, zijn afhankelijk van het resourcetype en het type verzameling dat de resource gebruikt. Er zijn twee typen verzamelingsmodi voor resourcelogboeken:
- Diagnostische gegevens van Azure: alle gegevens worden naar de tabel AzureDiagnostics geschreven.
- Resourcespecifiek: gegevens worden naar afzonderlijke tabellen geschreven voor elke categorie van de resource.
Resourcespecifiek
Voor logboeken die de resourcespecifieke modus gebruiken, worden afzonderlijke tabellen in de geselecteerde werkruimte gemaakt voor elke logboekcategorie die is geselecteerd in de diagnostische instelling. Resourcespecifieke logboeken hebben de volgende voordelen ten opzichte van diagnostische logboeken van Azure:
- Hiermee kunt u eenvoudiger werken met de gegevens in logboekquery's.
- Biedt een betere zichtbaarheid van schema's en hun structuur.
- Verbetert de prestaties voor opnamelatentie en querytijden.
- Biedt de mogelijkheid om op rollen gebaseerd toegangsbeheer van Azure toe te kennen aan een specifieke tabel.
Diagnostische modus van Azure
In de diagnostische modus van Azure worden alle gegevens uit een diagnostische instelling verzameld in de tabel AzureDiagnostics . Deze verouderde methode wordt tegenwoordig gebruikt door een minderheid van Azure-services. Omdat meerdere resourcetypen gegevens naar dezelfde tabel verzenden, is het schema de superset van de schema's van alle verschillende gegevenstypen die worden verzameld. Zie de naslaginformatie over AzureDiagnostics voor meer informatie over de structuur van deze tabel en hoe deze werkt met dit potentieel grote aantal kolommen.
De tabel AzureDiagnostics bevat de resourceId van de resource die het logboek heeft gegenereerd, de categorie van het logboek en het tijdstip waarop het logboek is gegenereerd, evenals resourcespecifieke eigenschappen.
De verzamelingsmodus selecteren
De meeste Azure-resources schrijven gegevens naar de werkruimte in de diagnostische of resourcespecifieke modus van Azure zonder u een keuze te geven. Zie Algemene en servicespecifieke schema's voor Azure-resourcelogboeken voor meer informatie.
Alle Azure-services gebruiken uiteindelijk de resourcespecifieke modus. Als onderdeel van deze overgang kunt u met sommige resources een modus selecteren in de diagnostische instelling. Geef de resourcespecifieke modus op voor nieuwe diagnostische instellingen, omdat deze modus de gegevens gemakkelijker te beheren maakt. Het kan ook helpen om complexe migraties later te voorkomen.
Notitie
Zie Voorbeelden van Resource Manager-sjablonen voor diagnostische instellingen in Azure Monitor voor een voorbeeld waarmee de verzamelingsmodus wordt ingesteld met behulp van een Azure Resource Manager-sjabloon.
U kunt een bestaande diagnostische instelling wijzigen in de resourcespecifieke modus. In dit geval blijven gegevens die al zijn verzameld in de AzureDiagnostics
tabel totdat deze worden verwijderd volgens uw bewaarinstelling voor de werkruimte. Nieuwe gegevens worden verzameld in de toegewezen tabel. Gebruik de samenvoegoperator om query's uit te voeren op gegevens in beide tabellen.
Ga door met het bekijken van het Blog over Azure-updates voor aankondigingen over Azure-services die ondersteuning bieden voor resourcespecifieke modus.
Verzenden naar Azure Event Hubs
Resourcelogboeken verzenden naar een Event Hub om ze buiten Azure te verzenden. Resourcelogboeken kunnen bijvoorbeeld worden verzonden naar een SIEM van derden of andere log analytics-oplossingen. Resourcelogboeken van Event Hubs worden gebruikt in JSON-indeling met een records
element dat de records in elke nettolading bevat. Het schema is afhankelijk van het resourcetype zoals beschreven in common en servicespecifiek schema voor Azure-resourcelogboeken.
De volgende voorbeelduitvoergegevens zijn afkomstig van Azure Event Hubs voor een resourcelogboek:
{
"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"
}
}
}
]
}
Verzenden naar Azure Storage
Verzend resourcelogboeken naar Azure Storage om ze te bewaren voor archivering. Nadat u de diagnostische instelling hebt gemaakt, wordt er een opslagcontainer gemaakt in het opslagaccount zodra er een gebeurtenis plaatsvindt in een van de ingeschakelde logboekcategorieën.
Notitie
Een alternatief voor archivering is om het resourcelogboek naar een tabel in uw Log Analytics-werkruimte te verzenden met voordelige, langetermijnretentie.
De blobs in de container gebruiken de volgende naamconventie:
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
De blob voor een netwerkbeveiligingsgroep kan een naam hebben die vergelijkbaar is met dit voorbeeld:
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
Elke PT1H.json blob bevat een JSON-object met gebeurtenissen uit logboekbestanden die zijn ontvangen tijdens het uur dat is opgegeven in de blob-URL. Tijdens het huidige uur worden gebeurtenissen toegevoegd aan het PT1H.json-bestand wanneer ze worden ontvangen, ongeacht wanneer ze zijn gegenereerd. De minuutwaarde in de URL m=00
is altijd 00
als blobs per uur worden gemaakt.
In het PT1H.json-bestand wordt elke gebeurtenis opgeslagen in de volgende indeling. Het maakt gebruik van een algemeen schema op het hoogste niveau, maar is uniek voor elke Azure-service, zoals beschreven in het schema van resourcelogboeken.
Notitie
Logboeken worden naar blobs geschreven op basis van de tijd waarop het logboek is ontvangen, ongeacht de tijd waarop het is gegenereerd. Dit betekent dat een bepaalde blob logboekgegevens kan bevatten die buiten het uur zijn opgegeven in de URL van de blob. Wanneer een gegevensbron zoals Application Insights ondersteuning biedt voor het uploaden van verouderde telemetrie, kan een blob gegevens uit de afgelopen 48 uur bevatten.
Aan het begin van een nieuw uur is het mogelijk dat bestaande logboeken nog steeds naar de blob van het vorige uur worden geschreven terwijl nieuwe logboeken naar de blob van het nieuwe uur worden geschreven.
{"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}}
Integraties van Azure Monitor-partner
Resourcelogboeken kunnen ook worden verzonden naar partneroplossingen die volledig zijn geïntegreerd in Azure. Zie Azure Monitor-partnerintegraties voor een lijst met deze oplossingen en details over het configureren ervan.