Udostępnij za pośrednictwem


Wprowadzenie do monitorowania usługi w chmurze (klasycznej)

Ważne

Usługi Cloud Services (wersja klasyczna) są teraz przestarzałe dla wszystkich klientów od 1 września 2024 r. Wszystkie istniejące uruchomione wdrożenia zostaną zatrzymane i zamknięte przez firmę Microsoft, a dane zostaną trwale utracone od października 2024 r. Nowe wdrożenia powinny używać nowego modelu wdrażania opartego na usłudze Azure Resource Manager w usługach Azure Cloud Services (wsparcie dodatkowe).

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ć więcej punktów danych. Ten artykuł zawiera wprowadzenie do Diagnostyka Azure dla usług 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ą z nimi związane żadne dodatkowe koszty.

Dzięki zaawansowanego monitorowania próbkowane są kolejne metryki 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 na rolę; Możesz użyć różnych kont magazynu dla różnych ról. Do konfiguracji należy użyć parametry 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ć w/wy i odczyt/zapis dysku. Zebrane dane monitorowania są automatycznie wyświetlane na stronach przeglądów i metryk usługi w chmurze w witrynie Azure Portal.

Monitorowanie podstawowe 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 Diagnostyka 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.

Podczas tworzenia 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 Internet Information Services (IIS)
  • Śledzenie zdarzeń oparte na manifeście dla systemu Windows (ETW)
  • 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ść Podstawowa parametry połączenia. Ta wartość jest potrzebna dla usługi w chmurze.

Istnieją dwa pliki konfiguracji, które należy zmienić, aby można było włączyć zaawansowaną diagnostykę, 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" />

Ten fragment kodu 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 emulowanym środowisku. Otwórz i zmień każdy plik cscfg . Dodaj ustawienie o nazwie Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString. Ustaw wartość na podstawową 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 możesz wysłać dane diagnostyczne 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 Application Insights może monitorować usługę w chmurze pod kątem dostępności, wydajności, awarii i użycia. Niestandardowe wykresy można dodać do usługi Application Insights, aby zobaczyć dane, które są najważniejsze. 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 z usługami Cloud Services.

Usługi Application Insights można używać do wyświetlania liczników wydajności (i innych ustawień) określonych za pośrednictwem rozszerzenia microsoft Diagnostyka Azure, ale możesz uzyskać bardziej rozbudowane środowisko, integrując zestaw SDK usługi Application Insights z rolami procesów roboczych i internetowych.

Następne kroki