Wysyłanie metryk systemu operacyjnego gościa do klasycznego magazynu metryk usługi Azure Monitor w chmurze

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Za pomocą rozszerzenia diagnostyki usługi Azure Monitor można zbierać metryki i dzienniki z systemu operacyjnego gościa działającego jako część maszyny wirtualnej, usługi w chmurze lub klastra usługi Service Fabric. Rozszerzenie może wysyłać dane telemetryczne do wielu różnych lokalizacji.

W tym artykule opisano proces wysyłania metryk wydajności systemu operacyjnego gościa dla klasycznych usług w chmurze platformy Azure do magazynu metryk usługi Azure Monitor. Począwszy od diagnostyki w wersji 1.11, można zapisywać metryki bezpośrednio w magazynie metryk usługi Azure Monitor, gdzie już zbierane są standardowe metryki platformy.

Przechowywanie ich w tej lokalizacji umożliwia dostęp do tych samych akcji, które można wykonać w przypadku metryk platformy. Akcje obejmują alerty niemal w czasie rzeczywistym, wykresy, routing, dostęp z interfejsu API REST i nie tylko. W przeszłości rozszerzenie Diagnostyka napisało do usługi Azure Storage, ale nie do magazynu danych usługi Azure Monitor.

Proces opisany w tym artykule działa tylko dla liczników wydajności w usługach Azure Cloud Services. Nie działa w przypadku innych metryk niestandardowych.

Wymagania wstępne

Aprowizuj usługę w chmurze i konto magazynu

  1. Tworzenie i wdrażanie klasycznej usługi w chmurze. Przykładową klasyczną aplikację i wdrożenie usług Cloud Services można znaleźć w artykule Rozpoczynanie pracy z usługami Azure Cloud Services i ASP.NET.

  2. Możesz użyć istniejącego konta magazynu lub wdrożyć nowe konto magazynu. Najlepiej, jeśli konto magazynu znajduje się w tym samym regionie co utworzona usługa w chmurze klasycznej. W witrynie Azure Portal przejdź do okienka zasobów Konta magazynu, a następnie wybierz pozycję Klucze. Zanotuj nazwę konta magazynu i klucz konta magazynu. Te informacje będą potrzebne w późniejszych krokach.

    Storage account keys

Tworzenie jednostki usługi

Utwórz jednostkę usługi w dzierżawie firmy Microsoft Entra, korzystając z instrukcji w temacie Korzystanie z portalu w celu utworzenia aplikacji Microsoft Entra i jednostki usługi, która może uzyskiwać dostęp do zasobów. Podczas wykonywania tego procesu zwróć uwagę na następujące kwestie:

  • Możesz umieścić dowolny adres URL adresu URL logowania.
  • Utwórz nowy klucz tajny klienta dla tej aplikacji.
  • Zapisz klucz i identyfikator klienta do użycia w kolejnych krokach.

Nadaj aplikacji utworzonej w poprzednim kroku Uprawnienia wydawcy metryk monitorowania do zasobu, dla którego chcesz emitować metryki. Jeśli planujesz używać aplikacji do emitowania metryk niestandardowych względem wielu zasobów, możesz udzielić tych uprawnień na poziomie grupy zasobów lub subskrypcji.

Uwaga

Rozszerzenie Diagnostyka używa jednostki usługi do uwierzytelniania w usłudze Azure Monitor i emitowania metryk dla usługi w chmurze.

Konfiguracja rozszerzenia Diagnostyka autora

Przygotuj plik konfiguracji rozszerzenia diagnostyki. Ten plik określa, które dzienniki i liczniki wydajności powinny zbierać rozszerzenie diagnostyki dla usługi w chmurze. Poniżej znajduje się przykładowy plik konfiguracji diagnostyki:

<?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> 

W sekcji "SinksConfig" pliku diagnostycznego zdefiniuj nowy ujście usługi Azure Monitor:

  <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> 

W sekcji pliku konfiguracji, w której wymieniono liczniki wydajności do zebrania, dodaj ujście usługi Azure Monitor. Ten wpis gwarantuje, że wszystkie określone liczniki wydajności są kierowane do usługi Azure Monitor jako metryki. Możesz dodawać lub usuwać liczniki wydajności zgodnie z potrzebami.

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

Na koniec w konfiguracji prywatnej dodaj sekcję Konto usługi Azure Monitor. Wprowadź identyfikator klienta jednostki usługi i utworzony wcześniej wpis tajny.

<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> 

Zapisz ten plik diagnostyczny lokalnie.

Wdrażanie rozszerzenia diagnostyki w usłudze w chmurze

Uruchom program PowerShell i zaloguj się na platformie Azure.

Login-AzAccount 

Użyj następujących poleceń, aby zapisać szczegóły utworzonego wcześniej konta magazynu.

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

Podobnie ustaw ścieżkę pliku diagnostycznego do zmiennej przy użyciu następującego polecenia:

$diagconfig = “<path of the Diagnostics configuration file with the Azure Monitor sink configured>” 

Wdróż rozszerzenie diagnostyki w usłudze w chmurze przy użyciu pliku diagnostycznego za pomocą ujścia usługi Azure Monitor skonfigurowanego przy użyciu następującego polecenia:

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

Uwaga

Nadal wymagane jest podanie konta magazynu w ramach instalacji rozszerzenia Diagnostyka. Wszystkie dzienniki lub liczniki wydajności określone w pliku konfiguracji diagnostyki są zapisywane na określonym koncie magazynu.

Kreślenie metryk w witrynie Azure Portal

  1. Przejdź do portalu Azure Portal.

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

  2. W menu po lewej stronie wybierz pozycję Monitor.

  3. W okienku Monitorowanie wybierz kartę Podgląd metryk.

  4. W menu rozwijanym zasoby wybierz klasyczną usługę w chmurze.

  5. W menu rozwijanym Przestrzenie nazw wybierz pozycję azure.vm.windows.guest.

  6. W menu rozwijanym metryki wybierz pozycję Pamięć\Zatwierdzone bajty w obszarze Użyj.

Za pomocą funkcji filtrowania i dzielenia wymiarów można wyświetlić łączną pamięć używaną przez określoną rolę lub wystąpienie roli.

Screenshot shows Metrics data.

Następne kroki

  • Dowiedz się więcej o metrykach niestandardowych.