Metrische gegevens van gastbesturingssystemen verzenden naar de klassieke cloudservices van azure Monitor

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 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 klassieke Azure Cloud Services naar het metrische azure Monitor-archief. Vanaf diagnostische versie 1.11 kunt u metrische gegevens rechtstreeks naar het metrische gegevensarchief van Azure Monitor schrijven, waarbij standaardplatformgegevens al worden verzameld.

Door ze op deze locatie op te slaan, hebt u toegang tot dezelfde acties die u kunt gebruiken 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 voor prestatiemeteritems in Azure Cloud Services. Het werkt niet voor andere aangepaste metrische gegevens.

Vereisten

Een cloudservice en opslagaccount inrichten

  1. Een klassieke cloudservice maken en implementeren. Een voorbeeld van een klassieke Cloud Services-toepassing en -implementatie vindt u in Aan de slag met Azure Cloud Services en ASP.NET.

  2. U kunt een bestaand opslagaccount gebruiken of een nieuw opslagaccount implementeren. Het is het beste als het opslagaccount zich in dezelfde regio bevindt als de klassieke cloudservice die u hebt gemaakt. Ga in Azure Portal naar het resourcevenster Opslagaccounts en selecteer Sleutels. Noteer de naam van het opslagaccount en de sleutel van het opslagaccount. U hebt deze informatie in een latere stap nodig.

    Storage account keys

Een service-principal maken

Maak een service-principal in uw Microsoft Entra-tenant met behulp van de instructies in De portal om een Microsoft Entra-toepassing en service-principal te maken die toegang heeft tot resources. Let op het volgende terwijl u dit proces doorloopt:

  • U kunt elke URL voor de aanmeldings-URL invoeren.
  • Maak een nieuw clientgeheim voor deze app.
  • Sla de sleutel en de client-id op voor gebruik in latere stappen.

Geef de app die u in de vorige stap hebt gemaakt, machtigingen voor de uitgever van metrische gegevens bewaken voor de resource waarvoor u metrische gegevens wilt verzenden. Als u van plan bent om de app te gebruiken voor het verzenden van aangepaste metrische gegevens voor veel resources, kunt u deze machtigingen verlenen op het niveau van de resourcegroep of het abonnement.

Notitie

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

Configuratie van diagnostische extensie ontwerpen

Bereid het configuratiebestand voor de diagnostische extensie voor. Dit bestand bepaalt welke logboeken en prestatiemeteritems de diagnostische extensie moet verzamelen voor uw cloudservice. Hieronder volgt een voorbeeld van een configuratiebestand voor diagnostische gegevens:

<?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"> 
        <DiagnosticInfrastructureLogs scheduledTransferLogLevelFilter="Error" /> 
        <Directories scheduledTransferPeriod="PT1M"> 
          <IISLogs containerName="wad-iis-logfiles" /> 
          <FailedRequestLogs containerName="wad-failedrequestlogs" /> 
        </Directories> 
        <PerformanceCounters scheduledTransferPeriod="PT1M"> 
          <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT15S" /> 
          <PerformanceCounterConfiguration counterSpecifier="\Memory\Available MBytes" sampleRate="PT15S" /> 
          <PerformanceCounterConfiguration counterSpecifier="\Memory\Committed Bytes" sampleRate="PT15S" /> 
          <PerformanceCounterConfiguration counterSpecifier="\Memory\Page Faults/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" /> 
      </DiagnosticMonitorConfiguration> 
      <SinksConfig> 
      </SinksConfig> 
    </WadCfg> 
    <StorageAccount /> 
  </PublicConfig> 
  <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> 
    <StorageAccount name="" endpoint="" /> 
</PrivateConfig> 
  <IsEnabled>true</IsEnabled> 
</DiagnosticsConfiguration> 

Definieer in de sectie SinksConfig van uw diagnostische bestand een nieuwe Azure Monitor-sink:

  <SinksConfig> 
    <Sink name="AzMonSink"> 
    <AzureMonitor> 
      <ResourceId>-Provide ClassicCloudService’s Resource ID-</ResourceId> 
      <Region>-Azure Region your Cloud Service is deployed in-</Region> 
    </AzureMonitor> 
    </Sink> 
  </SinksConfig> 

Voeg in de sectie van uw configuratiebestand waarin u de prestatiemeteritems weer te geven die moeten worden verzameld, de Azure Monitor-sink toe. Deze vermelding zorgt ervoor dat alle prestatiemeteritems die u hebt opgegeven, als metrische gegevens naar Azure Monitor worden doorgestuurd. U kunt prestatiemeteritems toevoegen of verwijderen op basis van uw behoeften.

    <PerformanceCounters scheduledTransferPeriod="PT1M" sinks="AzMonSink">
        <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT15S" />
    ...
    </PerformanceCounters>

Voeg ten slotte in de privéconfiguratie een sectie Azure Monitor-account toe. Voer de client-id en het geheim van de service-principal in die u eerder hebt gemaakt.

<PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> 
  <StorageAccount name="" endpoint="" /> 
    <AzureMonitorAccount> 
      <ServicePrincipalMeta> 
        <PrincipalId>clientId from step 3</PrincipalId> 
        <Secret>client secret from step 3</Secret> 
      </ServicePrincipalMeta> 
    </AzureMonitorAccount> 
</PrivateConfig> 

Sla dit diagnostische bestand lokaal op.

De diagnostische extensie implementeren in uw cloudservice

Start PowerShell en meld u aan bij Azure.

Login-AzAccount 

Gebruik de volgende opdrachten om de details op te slaan van het opslagaccount dat u eerder hebt gemaakt.

$storage_account = <name of your storage account from step 3> 
$storage_keys = <storage account key from step 3> 

Stel op dezelfde manier 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>” 

Implementeer de diagnostische extensie in uw cloudservice met het diagnostische bestand met de Azure Monitor-sink die is geconfigureerd met behulp van de volgende opdracht:

Set-AzureServiceDiagnosticsExtension -ServiceName <classicCloudServiceName> -StorageAccountName $storage_account -StorageAccountKey $storage_keys -DiagnosticsConfigurationPath $diagconfig 

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 voor diagnostische gegevens, worden naar het opgegeven opslagaccount geschreven.

Metrische gegevens tekenen in Azure Portal

  1. Ga naar de Azure-portal.

    Screenshot shows the Azure portal with Monitor, then Metrics selected.

  2. Selecteer Controleren in het linkermenu.

  3. Selecteer in het deelvenster Monitor het tabblad Voorbeeld van metrische gegevens.

  4. Selecteer uw klassieke cloudservice 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.

U gebruikt de dimensiefilter- en splitsmogelijkheden om het totale geheugen weer te geven dat wordt gebruikt door een specifieke rol of rolinstantie.

Screenshot shows Metrics data.

Volgende stappen