Wprowadzenie do monitorowania usługi w chmurze (klasycznej)

Ważne

Cloud Services (wersja klasyczna) jest teraz przestarzała dla nowych klientów i zostanie wycofana 31 sierpnia 2024 r. dla wszystkich klientów. Nowe wdrożenia powinny korzystać z nowego modelu wdrażania opartego na usłudze Azure Resource Manager Azure Cloud Services (rozszerzona obsługa)."

Kluczowe metryki wydajności można monitorować dla dowolnej usługi w chmurze. Każda rola usługi w chmurze zbiera minimalne dane: użycie procesora CPU, użycie sieci i wykorzystanie dysku. Jeśli usługa w chmurze ma Microsoft.Azure.Diagnostics rozszerzenie zastosowane do roli, ta rola może zbierać dodatkowe punkty danych. Ten artykuł zawiera wprowadzenie do Diagnostyka Azure dla Cloud Services.

W przypadku podstawowego monitorowania dane licznika wydajności z wystąpień ról są próbkowane i zbierane w 3-minutowych odstępach czasu. Te podstawowe dane monitorowania nie są przechowywane na koncie magazynu i nie są skojarzone z nim żadne dodatkowe koszty.

W przypadku zaawansowanego monitorowania dodatkowe metryki są próbkowane i zbierane w odstępach 5 minut, 1 godziny i 12 godzin. Zagregowane dane są przechowywane na koncie magazynu, w tabelach i są czyszczone po 10 dniach. Używane konto magazynu jest konfigurowane przez rolę; Możesz użyć różnych kont magazynu dla różnych ról. Jest to skonfigurowane z parametrami połączenia w plikach csdef i cscfg .

Podstawowe monitorowanie

Zgodnie z wprowadzeniem usługa w chmurze automatycznie zbiera podstawowe dane monitorowania z maszyny wirtualnej hosta. Te dane obejmują wartość procentową procesora CPU, sieć/wyjście oraz odczyt/zapis dysku. Zebrane dane monitorowania są automatycznie wyświetlane na stronach przeglądu i metryk usługi w chmurze w Azure Portal.

Podstawowe monitorowanie nie wymaga konta magazynu.

podstawowe kafelki monitorowania usługi w chmurze

Zaawansowane monitorowanie

Zaawansowane monitorowanie obejmuje użycie rozszerzenia Diagnostyka Azure (i opcjonalnie zestawu SDK usługi Application Insights) w roli, którą chcesz monitorować. Rozszerzenie diagnostyki używa pliku konfiguracji (na rolę) o nazwie diagnostics.wadcfgx w celu skonfigurowania monitorowanych metryk diagnostycznych. Rozszerzenie diagnostyki platformy Azure zbiera i przechowuje dane na koncie usługi Azure Storage. Te ustawienia są konfigurowane w plikach .wadcfgx, csdef i cscfg . Oznacza to, że istnieje dodatkowy koszt związany z zaawansowanym monitorowaniem.

Po utworzeniu każdej roli program Visual Studio dodaje do niego rozszerzenie Diagnostyka Azure. To rozszerzenie diagnostyczne może zbierać następujące typy informacji:

  • Niestandardowe liczniki wydajności
  • Dzienniki aplikacji
  • Dzienniki zdarzeń systemu Windows
  • Źródło zdarzeń platformy .NET
  • Dzienniki usług IIS
  • Śledzenie zdarzeń systemu Windows w oparciu o manifest
  • Zrzuty awaryjne
  • Dzienniki błędów klienta

Ważne

Chociaż wszystkie te dane są agregowane na koncie magazynu, portal nie zapewnia natywnego sposobu tworzenia wykresów danych. Zdecydowanie zaleca się zintegrowanie innej usługi, takiej jak Application Insights, z aplikacją.

Konfigurowanie rozszerzenia diagnostyki

Najpierw, jeśli nie masz klasycznego konta magazynu, utwórz je. Upewnij się, że konto magazynu zostało utworzone przy użyciu określonego klasycznego modelu wdrażania .

Następnie przejdź do zasobu konta magazynu (klasycznego). Wybierz pozycję Ustawienia>Klucze dostępu i skopiuj wartość Podstawowe parametry połączenia . Ta wartość jest potrzebna dla usługi w chmurze.

Istnieją dwa pliki konfiguracji, które należy zmienić w celu włączenia zaawansowanej diagnostyki, ServiceDefinition.csdef i ServiceConfiguration.cscfg.

ServiceDefinition.csdef

W pliku ServiceDefinition.csdef dodaj nowe ustawienie o nazwie Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString dla każdej roli korzystającej z zaawansowanej diagnostyki. Program Visual Studio dodaje tę wartość do pliku podczas tworzenia nowego projektu. Jeśli brakuje go, możesz dodać go teraz.

<ServiceDefinition name="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
  <WorkerRole name="WorkerRoleWithSBQueue1" vmsize="Small">
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />

Definiuje nowe ustawienie, które należy dodać do każdego pliku ServiceConfiguration.cscfg .

Najprawdopodobniej masz dwa pliki cscfg o nazwie ServiceConfiguration.cloud.cscfg na potrzeby wdrażania na platformie Azure, a jeden o nazwie ServiceConfiguration.local.cscfg używany do wdrożeń lokalnych w środowisku emulowanym. Otwórz i zmień każdy plik cscfg . Dodaj ustawienie o nazwie Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString. Ustaw wartość na podstawowe parametry połączenia klasycznego konta magazynu. Jeśli chcesz użyć magazynu lokalnego na maszynie dewelopera, użyj polecenia UseDevelopmentStorage=true.

<ServiceConfiguration serviceName="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2015-04.2.6">
  <Role name="WorkerRoleWithSBQueue1">
    <Instances count="1" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=KWwkdfmskOIS240jnBOeeXVGHT9QgKS4kIQ3wWVKzOYkfjdsjfkjdsaf+sddfwwfw+sdffsdafda/w==" />
      
      <!-- or use the local development machine for storage
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      -->

Korzystanie z usługi Application Insights

Podczas publikowania usługi w chmurze z poziomu programu Visual Studio otrzymujesz opcję wysyłania danych diagnostycznych do usługi Application Insights. W tym czasie możesz utworzyć zasób platformy Azure usługi Application Insights lub wysłać dane do istniejącego zasobu platformy Azure. Usługa w chmurze może być monitorowana przez usługę Application Insights pod kątem dostępności, wydajności, awarii i użycia. Wykresy niestandardowe można dodać do usługi Application Insights, aby zobaczyć dane, które mają największe znaczenie. Dane wystąpienia roli można zbierać przy użyciu zestawu SDK usługi Application Insights w projekcie usługi w chmurze. Aby uzyskać więcej informacji na temat sposobu integrowania usługi Application Insights, zobacz Application Insights with Cloud Services (Usługa Application Insights z Cloud Services).

Należy pamiętać, że chociaż można użyć usługi Application Insights do wyświetlania liczników wydajności (i innych ustawień) określonych za pomocą rozszerzenia windows Diagnostyka Azure, możesz uzyskać bardziej rozbudowane środowisko, integrując zestaw SDK usługi Application Insights z rolami procesów roboczych i internetowych.

Następne kroki