Typowe metryki skalowania automatycznego w usłudze Azure Monitor

Skalowanie automatyczne usługi Azure Monitor umożliwia skalowanie liczby uruchomionych wystąpień w poziomie lub na podstawie danych telemetrycznych lub metryk. Skalowanie może być oparte na dowolnej metryce, nawet metrykach z innego zasobu. Na przykład przeskaluj zestaw skalowania maszyn wirtualnych na podstawie ilości ruchu w zaporze.

W tym artykule opisano metryki, które są często używane do wyzwalania zdarzeń skalowania.

Skalowanie automatyczne platformy Azure obsługuje wiele typów zasobów. Aby uzyskać więcej informacji na temat obsługiwanych zasobów, zobacz zasoby obsługiwane automatycznie.

Dla wszystkich zasobów możesz uzyskać listę dostępnych metryk przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure

Get-AzMetricDefinition -ResourceId <resource_id> 
az monitor metrics list-definitions --resource <resource_id>

Metryki obliczeniowe dla maszyn wirtualnych opartych na usłudze Resource Manager

Domyślnie maszyny wirtualne oparte na usłudze Azure Resource Manager i zestawy skalowania maszyn wirtualnych emitują podstawowe metryki (na poziomie hosta). Ponadto podczas konfigurowania zbierania danych diagnostycznych dla maszyn wirtualnych platformy Azure i zestawów skalowania maszyn wirtualnych rozszerzenie Diagnostyka Azure emituje również liczniki wydajności systemu operacyjnego gościa. Te liczniki są często nazywane "metrykami systemu operacyjnego gościa". Wszystkie te metryki są używane w regułach automatycznego skalowania.

Jeśli używasz zestawów skalowania maszyn wirtualnych i nie widzisz określonej metryki na liście, prawdopodobnie jest ona wyłączona w rozszerzeniu Diagnostyka.

Jeśli określona metryka nie jest próbkowana lub przesyłana z odpowiednią częstotliwością, możesz zaktualizować konfigurację diagnostyki.

Jeśli którykolwiek z powyższych przypadków ma wartość true, zobacz Używanie programu PowerShell do włączania Diagnostyka Azure na maszynie wirtualnej z systemem Windows w celu skonfigurowania i zaktualizowania rozszerzenia diagnostyki maszyny wirtualnej platformy Azure w celu włączenia metryki. Artykuł zawiera również przykładowy plik konfiguracji diagnostyki.

Metryki hosta dla maszyn wirtualnych z systemem Windows i Linux opartych na usłudze Resource Manager

Następujące metryki na poziomie hosta są domyślnie emitowane dla maszyn wirtualnych platformy Azure i zestawów skalowania maszyn wirtualnych w wystąpieniach systemów Windows i Linux. Te metryki opisują maszynę wirtualną platformy Azure, ale są zbierane z hosta maszyny wirtualnej platformy Azure, a nie za pośrednictwem agenta zainstalowanego na maszynie wirtualnej gościa. Te metryki można używać w regułach skalowania automatycznego.

Metryki systemu operacyjnego gościa dla maszyn wirtualnych z systemem Windows opartych na usłudze Resource Manager

Podczas tworzenia maszyny wirtualnej na platformie Azure diagnostyka jest włączona przy użyciu rozszerzenia Diagnostyka. Rozszerzenie Diagnostyka emituje zestaw metryk pobranych z wewnątrz maszyny wirtualnej. Oznacza to, że możesz automatycznie skalować przy użyciu metryk, które nie są domyślnie emitowane.

Możesz utworzyć alert dla następujących metryk:

Nazwa metryki Jednostka
\Processor(_Total)% czasu procesora Procent
\Processor(_Total)% Czasu uprzywilejowanego Procent
\Processor(_Total)% czas użytkownika Procent
\Processor Information(_Total)\Processor Frequency Count
\System\Procesy Count
\Process(_Total)\Liczba wątków Count
\Process(_Total)\Liczba dojść Count
\Memory% zatwierdzonych bajtów w użyciu Procent
\Memory\Available Bytes Bajty
\Pamięć\Zatwierdzone bajty Bajty
\Memory\Commit Limit Bajty
\Memory\Pool Paged Bytes Bajty
\Memory\Pool Nonpaged Bytes Bajty
\PhysicalDisk(_Total)% czas dysku Procent
\PhysicalDisk(_Total)% czas odczytu dysku Procent
\PhysicalDisk(_Total)% czas zapisu dysku Procent
\PhysicalDisk(_Total)\Transfery dysku/s CountPerSecond
\PhysicalDisk(_Total)\Odczyty dysku/s CountPerSecond
\PhysicalDisk(_Total)\Zapisy dysku/s CountPerSecond
\PhysicalDisk(_Total)\Bajty dysku/s BytesPerSecond
\PhysicalDisk(_Total)\Bajty odczytu dysku/s BytesPerSecond
\PhysicalDisk(_Total)\Bajty zapisu dysku/s BytesPerSecond
\PhysicalDisk(_Total)\Średnia długość kolejki dysku Count
\PhysicalDisk(_Total)\Średnia długość kolejki odczytu dysku Count
\PhysicalDisk(_Total)\Średnia długość kolejki zapisu dysku Count
\LogicalDisk(_Total)% Wolne miejsce Procent
\LogicalDisk(_Total)\Free Megabajty Count

Metryki systemu operacyjnego gościa dla maszyn wirtualnych z systemem Linux

Podczas tworzenia maszyny wirtualnej na platformie Azure diagnostyka jest domyślnie włączona przy użyciu rozszerzenia Diagnostyka.

Możesz utworzyć alert dla następujących metryk:

Nazwa metryki Jednostka
\Memory\AvailableMemory Bajty
\Memory\PercentAvailableMemory Procent
\Memory\UsedMemory Bajty
\Memory\PercentUsedMemory Procent
\Memory\PercentUsedByCache Procent
\Memory\PagesPerSec CountPerSecond
\Memory\PagesReadPerSec CountPerSecond
\Memory\PagesWrittenPerSec CountPerSecond
\Memory\AvailableSwap Bajty
\Memory\PercentAvailableSwap Procent
\Memory\UsedSwap Bajty
\Memory\PercentUsedSwap Procent
\Processor\PercentIdleTime Procent
\Processor\PercentUserTime Procent
\Processor\PercentNiceTime Procent
\Processor\PercentPrivilegedTime Procent
\Processor\PercentInterruptTime Procent
\Processor\PercentDPCTime Procent
\Processor\PercentProcessorTime Procent
\Processor\PercentIOWaitTime Procent
\PhysicalDisk\BytesPerSecond BytesPerSecond
\PhysicalDisk\ReadBytesPerSecond BytesPerSecond
\PhysicalDisk\WriteBytesPerSecond BytesPerSecond
\PhysicalDisk\TransfersPerSecond CountPerSecond
\PhysicalDisk\ReadsPerSecond CountPerSecond
\PhysicalDisk\WritesPerSecond CountPerSecond
\PhysicalDisk\AverageReadTime Sekundy
\PhysicalDisk\AverageWriteTime Sekundy
\PhysicalDisk\AverageTransferTime Sekundy
\PhysicalDisk\AverageDiskQueueLength Count
\NetworkInterface\BytesTransmitted Bajty
\NetworkInterface\BytesReceived Bajty
\NetworkInterface\PacketsTransmitted Count
\NetworkInterface\PacketsReceived Count
\NetworkInterface\BytesTotal Bajty
\NetworkInterface\TotalRxErrors Count
\NetworkInterface\TotalTxErrors Count
\NetworkInterface\TotalCollisions Count

Często używane metryki usługi App Service (farma serwerów)

Skalowanie automatyczne można również wykonywać na podstawie typowych metryk serwera internetowego, takich jak długość kolejki HTTP. Jego nazwa metryki to HttpQueueLength. W poniższej sekcji wymieniono dostępne metryki farmy serwerów (App Service).

Metryki usługi Web Apps

w przypadku usługi Web Apps możesz otrzymywać alerty lub skalować je według tych metryk.

Nazwa metryki Jednostka
Procesor CpuPercentage Procent
MemoryPercentage Procent
DiskQueueLength Count
HttpQueueLength Count
Bytesreceived Bajty
Bajty Bajty

Często używane metryki magazynu

Możesz skalować według długości kolejki usługi Azure Storage, czyli liczby komunikatów w kolejce usługi Storage. Długość kolejki magazynu to specjalna metryka, a próg to liczba komunikatów na wystąpienie. Jeśli na przykład istnieją dwa wystąpienia, a próg jest ustawiony na 100, skalowanie występuje, gdy łączna liczba komunikatów w kolejce wynosi 200. Może to być 100 komunikatów na wystąpienie, 120 plus 80 lub dowolna inna kombinacja, która sumuje się do 200 lub więcej.

Skonfiguruj to ustawienie w witrynie Azure Portal w okienku Ustawienia. W przypadku zestawów skalowania maszyn wirtualnych można zaktualizować ustawienie autoskalowania w szablonie usługi Resource Manager, aby było używane metricName jako ApproximateMessageCount i przekazać identyfikator kolejki magazynu jako metricResourceUri.

Na przykład w przypadku klasycznego konta magazynu ustawienie metricTrigger autoskalowania będzie obejmować:

"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ClassicStorage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"

W przypadku konta metricTrigger magazynu (innego niż klasyczny) ustawienie to:

"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.Storage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"

Często używane metryki usługi Service Bus

Możesz skalować według długości kolejki usługi Azure Service Bus, czyli liczby komunikatów w kolejce usługi Service Bus. Długość kolejki usługi Service Bus to specjalna metryka, a próg to liczba komunikatów na wystąpienie. Jeśli na przykład istnieją dwa wystąpienia, a próg jest ustawiony na 100, skalowanie występuje, gdy łączna liczba komunikatów w kolejce wynosi 200. Może to być 100 komunikatów na wystąpienie, 120 plus 80 lub dowolna inna kombinacja, która sumuje się do 200 lub więcej.

W przypadku zestawów skalowania maszyn wirtualnych można zaktualizować ustawienie autoskalowania w szablonie usługi Resource Manager, aby było używane metricName jako ActiveMessageCount i przekazać identyfikator kolejki usługi Service Bus jako metricResourceUri.

"metricName": "ActiveMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ServiceBus/namespaces/SB_NAMESPACE/queues/QUEUE_NAME"

Uwaga

W przypadku usługi Service Bus koncepcja grupy zasobów nie istnieje. Usługa Azure Resource Manager tworzy domyślną grupę zasobów na region. Grupa zasobów jest zwykle w formacie Default-ServiceBus-[region]. Przykłady to Default-ServiceBus-EastUS, Default-ServiceBus-WestUS i Default-ServiceBus-AustraliaEast.