Azure 監視器自動調整的常用度量
Azure 監視器的自動調整可讓您根據遙測資料或計量,縮減或擴增執行中執行個體的數目。 調整可以根據任何計量,甚至是來自不同資源的計量。 例如,根據防火牆上的流量調整虛擬機器擴展集。
本文說明通常用來觸發調整事件的計量。
Azure 自動調整支援多種資源類型。 如需有關支援資源的詳細資訊,請參閱自動調整支援的資源。
針對所有資源,您可以使用 PowerShell 或 Azure CLI 取得可用計量的清單
Get-AzMetricDefinition -ResourceId <resource_id>
az monitor metrics list-definitions --resource <resource_id>
針對以 Resource Manager 為基礎的 VM 來計算度量
根據預設,以 Azure Resource Manager 為基礎的虛擬機器和虛擬機器擴展集會發出基本 (主機層級) 的計量。 此外,當您設定 Azure VM 和虛擬機器擴展集的診斷資料收集時,Azure 診斷延伸模組也會發出客體 OS 效能計數器。 這些計數器通常稱為「客體-OS 計量」。您在自動調整規則中使用所有這些度量。
如果您使用虛擬機器擴展集,而且發現特定計量沒有列出來,可能是您的診斷擴充功能已停用該計量。
如果特定計量沒有取樣或以您想要的頻率傳輸,您可以更新診斷的組態設定。
如果發生上述任一種情況,請參閱使用 PowerShell 在執行 Windows 的虛擬機器中啟用 Azure 診斷,設定和更新 Azure VM 診斷擴充以啟用該計量。 該文章也包含診斷組態檔的範例。
以 Resource Manager 為基礎的 Windows 和 Linux VM 的主機度量
在 Windows 和 Linux 執行個體中,根據預設會針對 Azure VM 和虛擬機器擴展集發出下列的主機層級計量。 這些計量描述您的 Azure VM,然而是從 Azure VM 主機收集,而不是透過客體 VM 上安裝的代理程式收集。 您可以在自動調整規則中使用這些計量。
- 以 Resource Manager 為基礎的 Windows 和 Linux VM 的主機度量
- 以 Resource Manager 為基礎的 Windows 和 Linux 虛擬機器擴展集的主機計量
適用於 Resource Manager 型 Windows VM 的客體 OS 計量
在 Azure 中建立 VM 時會使用診斷擴充來啟用診斷。 診斷延伸模組會發出一組取自 VM 內的計量。 這表示您可以使用依預設不發出的計量進行自動調整。
您可以建立下列度量的警示:
度量名稱 | 單位 |
---|---|
\Processor(_Total)% Processor Time | Percent |
\Processor(_Total)% Privileged Time | Percent |
\Processor(_Total)% User Time | Percent |
\Processor Information(_Total)\Processor Frequency | 計數 |
\System\Processes | 計數 |
\Process(_Total)\Thread Count | 計數 |
\Process(_Total)\Handle Count | 計數 |
\Memory% Committed Bytes In Use | Percent |
\Memory\Available Bytes | Bytes |
\Memory\Committed Bytes | Bytes |
\Memory\Commit Limit | Bytes |
\Memory\Pool Paged Bytes | Bytes |
\Memory\Pool Nonpaged Bytes | Bytes |
\PhysicalDisk(_Total)% Disk Time | Percent |
\PhysicalDisk(_Total)% Disk Read Time | Percent |
\PhysicalDisk(_Total)% Disk Write Time | Percent |
\PhysicalDisk(_Total)\每秒的磁碟傳輸數 | 每秒計數 |
\PhysicalDisk(_Total)\Disk Reads/sec | 每秒計數 |
\PhysicalDisk(_Total)\Disk Writes/sec | 每秒計數 |
\PhysicalDisk(_Total)\Disk Bytes/sec | BytesPerSecond |
\PhysicalDisk(_Total)\Disk Read Bytes/sec | BytesPerSecond |
\PhysicalDisk(_Total)\Disk Write Bytes/sec | BytesPerSecond |
\PhysicalDisk(_Total)\Avg.磁碟佇列長度 | 計數 |
\PhysicalDisk(_Total)\Avg.磁碟讀取佇列長度 | 計數 |
\PhysicalDisk(_Total)\Avg.磁碟寫入佇列長度 | 計數 |
\LogicalDisk(_Total)% Free Space | Percent |
\LogicalDisk(_Total)\Free Megabytes | 計數 |
客體 OS 度量 Linux VM
當您在 Azure 中建立 VM 時,根據預設會使用診斷延伸模組來啟用診斷。
您可以建立下列度量的警示:
度量名稱 | 單位 |
---|---|
\Memory\AvailableMemory | Bytes |
\Memory\PercentAvailableMemory | Percent |
\Memory\UsedMemory | Bytes |
\Memory\PercentUsedMemory | Percent |
\Memory\PercentUsedByCache | Percent |
\Memory\PagesPerSec | 每秒計數 |
\Memory\PagesReadPerSec | 每秒計數 |
\Memory\PagesWrittenPerSec | 每秒計數 |
\Memory\AvailableSwap | Bytes |
\Memory\PercentAvailableSwap | Percent |
\Memory\UsedSwap | Bytes |
\Memory\PercentUsedSwap | Percent |
\Processor\PercentIdleTime | Percent |
\Processor\PercentUserTime | Percent |
\Processor\PercentNiceTime | Percent |
\Processor\PercentPrivilegedTime | Percent |
\Processor\PercentInterruptTime | Percent |
\Processor\PercentDPCTime | Percent |
\Processor\PercentProcessorTime | Percent |
\Processor\PercentIOWaitTime | Percent |
\PhysicalDisk\BytesPerSecond | BytesPerSecond |
\PhysicalDisk\ReadBytesPerSecond | BytesPerSecond |
\PhysicalDisk\WriteBytesPerSecond | BytesPerSecond |
\PhysicalDisk\TransfersPerSecond | 每秒計數 |
\PhysicalDisk\ReadsPerSecond | 每秒計數 |
\PhysicalDisk\WritesPerSecond | 每秒計數 |
\PhysicalDisk\AverageReadTime | 秒 |
\PhysicalDisk\AverageWriteTime | 秒 |
\PhysicalDisk\AverageTransferTime | 秒 |
\PhysicalDisk\AverageDiskQueueLength | 計數 |
\NetworkInterface\BytesTransmitted | Bytes |
\NetworkInterface\BytesReceived | Bytes |
\NetworkInterface\PacketsTransmitted | 計數 |
\NetworkInterface\PacketsReceived | 計數 |
\NetworkInterface\BytesTotal | Bytes |
\NetworkInterface\TotalRxErrors | 計數 |
\NetworkInterface\TotalTxErrors | 計數 |
\NetworkInterface\TotalCollisions | 計數 |
常用的 App Service (伺服器陣列) 計量
您也可以根據常用的 Web 伺服器計量 (如 HTTP 佇列長度) 執行自動調整。 其計量名稱是 HttpQueueLength。 下一節會列出可用的伺服器陣列 (App Service) 計量。
Web Apps 度量
對於 Web Apps,您可以針對這些計量發出警示通知或以其為調整依據。
度量名稱 | 單位 |
---|---|
CpuPercentage | Percent |
MemoryPercentage | Percent |
DiskQueueLength | 計數 |
HttpQueueLength | 計數 |
BytesReceived | Bytes |
BytesSent | Bytes |
常用的儲存體度量
您可以依 Azure 儲存體佇列長度作為調整依據,其為儲存體佇列中的訊息數目。 儲存體佇列長度是特殊計量,臨界值是每個執行個體的訊息數。 比方說,如果有兩個執行個體,且臨界值設定為 100,當佇列中的訊息總數為 200 時,將會進行調整。 數量方面,可能每個執行個體有 100 個訊息、120 加上 80 個訊息,或合計最多 200 個或更多訊息的其他任何組合。
在 Azure 入口網站的 [設定] 窗格中進行此設定。 若使用虛擬機器擴展集,您可以更新 Resource Manager 範本中的自動調整設定,改為使用 metricName
作為 ApproximateMessageCount
,並傳遞儲存體佇列的識別碼作為 metricResourceUri
。
例如,使用傳統儲存體帳戶時,自動調整設定 metricTrigger
會包含:
"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ClassicStorage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"
使用 (非傳統) 儲存體帳戶時,metricTrigger
會包含:
"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.Storage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"
常用的服務匯流排衡量標準
您可以依 Azure 服務匯流排佇列長度做為調整依據,其是服務匯流排佇列中的訊息數目。 服務匯流排長度是特殊計量,臨界值是每個執行個體的訊息數。 比方說,如果有兩個執行個體,且臨界值設定為 100,當佇列中的訊息總數為 200 時,將會進行調整。 數量方面,可能每個執行個體有 100 個訊息、120 加上 80 個訊息,或合計最多 200 個或更多訊息的其他任何組合。
若使用虛擬機器擴展集,您可以更新 Resource Manager 範本中的自動調整設定,改為使用 metricName
作為 ActiveMessageCount
,並傳遞服務匯流排佇列的識別碼作為 metricResourceUri
。
"metricName": "ActiveMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ServiceBus/namespaces/SB_NAMESPACE/queues/QUEUE_NAME"
注意
針對服務匯流排,資源群組概念並不存在。 Azure Resource Manager 會每個區域建立預設資源群組。 此資源群組通常是 'Default-ServiceBus-[region]' 的格式。 範例包含 'Default-ServiceBus-EastUS'、'Default-ServiceBus-WestUS' 和 'Default-ServiceBus-AustraliaEast'。