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>
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 hosta dla maszyn wirtualnych z systemem Windows i Linux opartych na usłudze Resource Manager
- Metryki hosta dla zestawów skalowania maszyn wirtualnych z systemem Windows i Linux opartych na usłudze Resource Manager
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 |
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 |
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).
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 |
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"
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.