Delen via


Diagnostische instellingen op schaal maken met behulp van Azure-beleid en -initiatieven

Als u Azure-resources wilt bewaken, moet u diagnostische instellingen maken voor elke resource. Dit proces kan moeilijk te beheren zijn wanneer u veel resources hebt. Als u het proces voor het maken en toepassen van diagnostische instellingen op schaal wilt vereenvoudigen, gebruikt u Azure Policy om automatisch diagnostische instellingen te genereren voor zowel nieuwe als bestaande resources.

Elk Azure-resourcetype heeft een unieke set categorieën die worden vermeld in de diagnostische instellingen. Elk resourcetype vereist daarom een afzonderlijke beleidsdefinitie. Sommige resourcetypen hebben ingebouwde beleidsdefinities die u zonder wijziging kunt toewijzen. Voor andere resourcetypen kunt u een aangepaste definitie maken.

Logboekcategoriegroepen

Logboekcategoriegroepen, groeperen vergelijkbare typen logboeken. Met categoriegroepen kunt u eenvoudig naar meerdere logboeken in één opdracht verwijzen. Er bestaat een categoriegroep allLogs die alle logboeken bevat. Er is ook een auditcategoriegroep die alle auditlogboeken bevat. Met behulp van een categoriegroep kunt u een beleid definiëren dat dynamisch wordt bijgewerkt als nieuwe logboekcategorieën worden toegevoegd aan de groep.

Ingebouwde beleidsdefinities voor Azure Monitor

Er zijn over het algemeen drie ingebouwde beleidsdefinities voor elk resourcetype, die overeenkomen met de drie bestemmingen voor het verzenden van diagnostische gegevens naar:

  • Log Analytics-werkruimten
  • Azure Storage-accounts
  • Event hubs

Wijs het beleid voor het resourcetype toe op basis van de bestemmingen die u nodig hebt.

Er bestaat een set ingebouwde beleidsregels en initiatieven op basis van de categoriegroepen voor auditlogboeken om u te helpen diagnostische instellingen met slechts een paar stappen toe te passen. Zie Diagnostische instellingen inschakelen per categoriegroep met behulp van ingebouwd beleid voor meer informatie.

Zie ingebouwde Azure Policy-definities voor Azure Monitor voor een volledige lijst met ingebouwde beleidsregels voor Azure Monitor

Aangepaste beleidsdefinities

Voor resourcetypen die geen ingebouwd beleid hebben, moet u een aangepaste beleidsdefinitie maken. U kunt handmatig een nieuw beleid maken in Azure Portal door een bestaand ingebouwd beleid te kopiëren en dit vervolgens te wijzigen voor uw resourcetype. U kunt het beleid ook programmatisch maken met behulp van een script in de PowerShell Gallery.

Met het script Create-AzDiagPolicy worden beleidsbestanden gemaakt voor een bepaald resourcetype dat u kunt installeren met behulp van PowerShell of de Azure CLI. Gebruik de volgende procedure om een aangepaste beleidsdefinitie te maken voor diagnostische instellingen:

  1. Zorg ervoor dat Azure PowerShell is geïnstalleerd.

  2. Installeer het script met behulp van de volgende opdracht:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Voer het script uit met behulp van de parameters om op te geven waar de logboeken moeten worden verzonden. Geef een abonnement en resourcetype op bij de prompt.

    Als u bijvoorbeeld een beleidsdefinitie wilt maken waarmee logboeken worden verzonden naar een Log Analytics-werkruimte en een Event Hub, gebruikt u de volgende opdracht:

    Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    

    U kunt ook een abonnement en resourcetype opgeven in de opdracht. Als u bijvoorbeeld een beleidsdefinitie wilt maken waarmee logboeken worden verzonden naar een Log Analytics-werkruimte en een Event Hub voor SQL Server-databases, gebruikt u de volgende opdracht:

    Create-AzDiagPolicy.ps1 -SubscriptionID <subscription id> -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. Het script maakt afzonderlijke mappen voor elke beleidsdefinitie. Elke map bevat drie bestanden met de naam azurepolicy.json, azurepolicy.rules.json en azurepolicy.parameters.json. Als u het beleid handmatig wilt maken in Azure Portal, kunt u de inhoud van azurepolicy.json kopiëren en plakken omdat het de volledige beleidsdefinitie bevat. Gebruik de andere twee bestanden met PowerShell of de Azure CLI om de beleidsdefinitie te maken vanaf een opdrachtregel.

    In de volgende voorbeelden ziet u hoe u de beleidsdefinitie installeert vanuit Zowel PowerShell als de Azure CLI. Elk voorbeeld bevat metagegevens voor het opgeven van een categorie Bewaking om de nieuwe beleidsdefinitie te groeperen met de ingebouwde beleidsdefinities.

    New-AzPolicyDefinition -name "Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace" -policy .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json -parameter .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json -mode All -Metadata '{"category":"Monitoring"}'
    
    az policy definition create --name 'deploy-diag-setting-sql-database--workspace' --display-name 'Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace'  --rules 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json' --params 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json' --subscription 'AzureMonitor_Docs' --mode All
    

Initiatief

In plaats van een toewijzing te maken voor elke beleidsdefinitie, is een algemene strategie het maken van een initiatief dat de beleidsdefinities omvat voor het maken van diagnostische instellingen voor elke Azure-service. Maak een toewijzing tussen het initiatief en een beheergroep, abonnement of resourcegroep, afhankelijk van hoe u uw omgeving beheert. Deze strategie biedt de volgende voordelen:

  • Maak één toewijzing voor het initiatief in plaats van meerdere toewijzingen voor elk resourcetype. Gebruik hetzelfde initiatief voor meerdere bewakingsgroepen, abonnementen of resourcegroepen.
  • Wijzig het initiatief wanneer u een nieuw resourcetype of een nieuw doel wilt toevoegen. Uw eerste vereisten zijn bijvoorbeeld om alleen gegevens te verzenden naar een Log Analytics-werkruimte, maar later wilt u een Event Hub toevoegen. Wijzig het initiatief in plaats van nieuwe toewijzingen te maken.

Zie Een initiatiefdefinitie maken en toewijzen voor meer informatie over het maken van een initiatief. Bekijk de volgende aanbevelingen:

  • Stel Categorie in op Bewaking om deze te groeperen met gerelateerde ingebouwde en aangepaste beleidsdefinities.
  • In plaats van de details op te geven voor de Log Analytics-werkruimte en de Event Hub voor beleidsdefinities die zijn opgenomen in het initiatief, gebruikt u een algemene initiatiefparameter. Met deze parameter kunt u eenvoudig een gemeenschappelijke waarde opgeven voor alle beleidsdefinities en deze waarde indien nodig wijzigen.

Schermopname van instellingen voor initiatiefdefinitie.

Toewijzing

Wijs het initiatief toe aan een Azure-beheergroep, -abonnement of -resourcegroep, afhankelijk van het bereik van uw resources dat u wilt bewaken. Een beheergroep is handig voor bereikbeleid, met name als uw organisatie meerdere abonnementen heeft.

Schermopname van de instellingen voor het tabblad Basisbeginselen in de sectie Initiatief toewijzen van de diagnostische instellingen voor Log Analytics-werkruimte in Azure Portal.

Met behulp van initiatiefparameters kunt u de werkruimte of andere details één keer opgeven voor alle beleidsdefinities in het initiatief.

Schermopname van initiatiefparameters op het tabblad Parameters.

Herstel

Het initiatief wordt toegepast op elke virtuele machine terwijl deze wordt gemaakt. Met een hersteltaak worden de beleidsdefinities in het initiatief geïmplementeerd voor bestaande resources, zodat u diagnostische instellingen kunt maken voor alle resources die al zijn gemaakt.

Wanneer u de toewijzing maakt met behulp van Azure Portal, hebt u de mogelijkheid om tegelijkertijd een hersteltaak te maken. Zie Niet-compatibele resources herstellen met Azure Policy voor meer informatie over het herstel.

Schermopname van initiatiefherstel voor een Log Analytics-werkruimte.

Probleemoplossing

De categorie Metrische gegevens wordt niet ondersteund

Wanneer u een diagnostische instelling implementeert, wordt er een foutbericht weergegeven dat vergelijkbaar is met de metrische categorie xxxx. Deze fout kan worden weergegeven, ook al is uw vorige implementatie geslaagd.

Het probleem treedt op wanneer u een Resource Manager-sjabloon, REST API, Azure CLI of Azure PowerShell gebruikt. Diagnostische instellingen die zijn gemaakt via Azure Portal, worden niet beïnvloed omdat alleen de ondersteunde categorienamen worden weergegeven.

Andere metrische categorieën dan AllMetrics worden niet ondersteund, met uitzondering van een beperkt aantal Azure-services. Eerder werden andere categorienamen genegeerd bij het implementeren van een diagnostische instelling, waarbij ze worden omgeleid naar AllMetrics. Vanaf februari 2021 wordt de opgegeven metrische categorie gevalideerd. Deze wijziging heeft ertoe geleid dat sommige implementaties mislukken.

U kunt dit probleem oplossen door uw implementaties bij te werken om andere namen van metrische categorieën dan AllMetricste verwijderen. Als de implementatie meerdere categorieën toevoegt, gebruikt u slechts één AllMetrics categorie. Als u het probleem blijft ondervinden, neemt u contact op met ondersteuning voor Azure via Azure Portal.

Instelling verdwijnt vanwege niet-ASCII-tekens in resourceID

Diagnostische instellingen bieden geen ondersteuning voor resource-ID's met niet-ASCII-tekens (bijvoorbeeld Preproduc intune). Omdat u de naam van resources in Azure niet kunt wijzigen, moet u een nieuwe resource maken zonder de niet-ASCII-tekens. Als de tekens zich in een resourcegroep bevinden, kunt u de resources verplaatsen naar een nieuwe groep.

Volgende stappen