Metrische gegevens van gastbesturingssystemen verzenden naar de metrische Gegevensdatabase van Azure Monitor voor een virtuele Windows-machine (klassiek)

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Met de Azure Monitor Diagnostics-extensie (ook wel WAD of Diagnostische gegevens genoemd) kunt u metrische gegevens en logboeken verzamelen van het gastbesturingssysteem (gastbesturingssysteem) dat wordt uitgevoerd als onderdeel van een virtuele machine, cloudservice of Service Fabric-cluster. De extensie kan telemetrie verzenden naar veel verschillende locaties.

In dit artikel wordt het proces beschreven voor het verzenden van metrische gegevens van gastbesturingssystemen voor een virtuele Windows-machine (klassiek) naar de metrische Azure Monitor-database. Vanaf diagnostische versie 1.11 kunt u metrische gegevens rechtstreeks naar het metrische gegevensarchief van Azure Monitor schrijven, waarbij standaardplatformgegevens al worden verzameld.

Als u ze op deze locatie opslaat, hebt u toegang tot dezelfde acties als voor metrische platformgegevens. Acties omvatten bijna realtime waarschuwingen, grafieken, routering, toegang vanuit een REST API en meer. In het verleden schreef de diagnostische extensie naar Azure Storage, maar niet naar het Azure Monitor-gegevensarchief.

Het proces dat in dit artikel wordt beschreven, werkt alleen op klassieke virtuele machines waarop het Windows-besturingssysteem wordt uitgevoerd.

Vereisten

Een klassieke virtuele machine en opslagaccount maken

  1. Maak een klassieke VIRTUELE machine met behulp van Azure Portal. Create Classic VM

  2. Wanneer u deze VIRTUELE machine maakt, kiest u de optie om een nieuw klassiek opslagaccount te maken. We gebruiken dit opslagaccount in latere stappen.

  3. Ga in Azure Portal naar het resourcevenster Opslagaccounts . Selecteer Sleutels en noteer de naam van het opslagaccount en de sleutel van het opslagaccount. U hebt deze informatie nodig in latere stappen. Storage access keys

Een service-principal maken

Maak een service-principal in uw Microsoft Entra-tenant met behulp van de instructies in Een service-principal maken. Let op het volgende tijdens het doorlopen van dit proces:

  • Maak een nieuw clientgeheim voor deze app.
  • Sla de sleutel en de client-id op voor gebruik in latere stappen.

Geef deze app machtigingen voor 'Uitgever van metrische gegevens bewaken' aan de resource waarvoor u metrische gegevens wilt verzenden. U kunt een resourcegroep of een volledig abonnement gebruiken.

Notitie

De diagnostische extensie maakt gebruik van de service-principal voor verificatie met Azure Monitor en verzendt metrische gegevens voor uw klassieke VM.

Configuratie van diagnostische extensie ontwerpen

  1. Bereid het configuratiebestand voor de diagnostische extensie voor. Dit bestand bepaalt welke logboeken en prestatiemeteritems de diagnostische extensie moet verzamelen voor uw klassieke VM. Hier volgt een voorbeeld:

    <?xml version="1.0" encoding="utf-8"?>
    <DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
    <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
        <WadCfg>
        <DiagnosticMonitorConfiguration overallQuotaInMB="4096" sinks="applicationInsights.errors">
            <DiagnosticInfrastructureLogs scheduledTransferLogLevelFilter="Error" />
            <Directories scheduledTransferPeriod="PT1M">
                <IISLogs containerName="wad-iis-logfiles" />
                <FailedRequestLogs containerName="wad-failedrequestlogs" />
            </Directories>
            <PerformanceCounters scheduledTransferPeriod="PT1M">
                <PerformanceCounterConfiguration counterSpecifier="\Processor(*)\% Processor Time" sampleRate="PT15S" />
                <PerformanceCounterConfiguration counterSpecifier="\Memory\Available Bytes" sampleRate="PT15S" />
                <PerformanceCounterConfiguration counterSpecifier="\Memory\Committed Bytes" sampleRate="PT15S" />
                <PerformanceCounterConfiguration counterSpecifier="\Memory\% Committed Bytes" sampleRate="PT15S" />
                <PerformanceCounterConfiguration counterSpecifier="\LogicalDisk(*)\Disk Read Bytes/sec" sampleRate="PT15S" />
            </PerformanceCounters>
            <WindowsEventLog scheduledTransferPeriod="PT1M">
                <DataSource name="Application!*[System[(Level=1 or Level=2 or Level=3)]]" />
                <DataSource name="Windows Azure!*[System[(Level=1 or Level=2 or Level=3 or Level=4)]]" />
            </WindowsEventLog>
            <CrashDumps>
                <CrashDumpConfiguration processName="WaIISHost.exe" />
                <CrashDumpConfiguration processName="WaWorkerHost.exe" />
                <CrashDumpConfiguration processName="w3wp.exe" />
            </CrashDumps>
            <Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Error" />
            <Metrics resourceId="/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.ClassicCompute/virtualMachines/MyClassicVM">
                <MetricAggregation scheduledTransferPeriod="PT1M" />
                <MetricAggregation scheduledTransferPeriod="PT1H" />
            </Metrics>
        </DiagnosticMonitorConfiguration>
        <SinksConfig>
        </SinksConfig>
        </WadCfg>
        <StorageAccount />
    </PublicConfig>
    <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
        <StorageAccount name="" endpoint="" />
    </PrivateConfig>
    <IsEnabled>true</IsEnabled>
    </DiagnosticsConfiguration>
    
  2. In de sectie SinksConfig van uw diagnostische bestand definieert u als volgt een nieuwe Azure Monitor-sink:

    <SinksConfig>
        <Sink name="AzMonSink">
            <AzureMonitor>
                <ResourceId>Provide the resource ID of your classic VM </ResourceId>
                <Region>The region your VM is deployed in</Region>
            </AzureMonitor>
        </Sink>
    </SinksConfig>
    
  3. In de sectie van uw configuratiebestand waarin de lijst met te verzamelen prestatiemeteritems wordt vermeld, routeert u de prestatiemeteritems naar de Azure Monitor-sink 'AzMonSink'.

    <PerformanceCounters scheduledTransferPeriod="PT1M" sinks="AzMonSink">
        <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT15S" />
    ...
    </PerformanceCounters>
    
  4. Definieer in de privéconfiguratie het Azure Monitor-account. Voeg vervolgens de service-principalgegevens toe die moeten worden gebruikt om metrische gegevens te verzenden.

    <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
    <StorageAccount name="" endpoint="" />
        <AzureMonitorAccount>
            <ServicePrincipalMeta>
                <PrincipalId>clientId for your service principal</PrincipalId>
                <Secret>client secret of your service principal</Secret>
            </ServicePrincipalMeta>
        </AzureMonitorAccount>
    </PrivateConfig>
    
  5. Sla dit bestand lokaal op.

De diagnostische extensie implementeren in uw cloudservice

  1. Start PowerShell en meld u aan.

    Login-AzAccount
    
  2. Begin met het instellen van de context voor uw klassieke VM.

    $VM = Get-AzureVM -ServiceName <VM’s Service_Name> -Name <VM Name>
    
  3. Stel de context in van het klassieke opslagaccount dat is gemaakt met de virtuele machine.

    $StorageContext = New-AzStorageContext -StorageAccountName <name of your storage account from earlier steps> -storageaccountkey "<storage account key from earlier steps>"
    
  4. Stel het pad naar het diagnostische bestand in op een variabele met behulp van de volgende opdracht:

    $diagconfig = “<path of the diagnostics configuration file with the Azure Monitor sink configured>”
    
  5. Bereid de update voor uw klassieke VM voor met het diagnostische bestand waarop de Azure Monitor-sink is geconfigureerd.

    $VM_Update = Set-AzureVMDiagnosticsExtension -DiagnosticsConfigurationPath $diagconfig -VM $VM -StorageContext $Storage_Context
    
  6. Implementeer de update op uw VIRTUELE machine door de volgende opdracht uit te voeren:

    Update-AzureVM -ServiceName "ClassicVMWAD7216" -Name "ClassicVMWAD" -VM $VM_Update.VM
    

Notitie

Het is nog steeds verplicht om een opslagaccount op te geven als onderdeel van de installatie van de diagnostische extensie. Logboeken of prestatiemeteritems die zijn opgegeven in het configuratiebestand Diagnostische gegevens, worden naar het opgegeven opslagaccount geschreven.

De metrische gegevens tekenen in Azure Portal

  1. Ga naar de Azure-portal.

  2. Selecteer Controleren in het linkermenu.

  3. Selecteer in het deelvenster Monitor aan de linkerkant de optie Metrische gegevens.

    Navigate metrics

  4. Selecteer uw klassieke VM in de vervolgkeuzelijst Resources.

  5. Selecteer in de vervolgkeuzelijst naamruimten de optie azure.vm.windows.guest.

  6. Selecteer in de vervolgkeuzelijst met metrische gegevens geheugen\vastgelegde bytes in gebruik. Plot metrics

Volgende stappen