Automatikus skálázás vendégmetrikák használatával Egy Linux-méretezési csoport sablonjában
Az Azure-ban kétféle metrikát gyűjtünk össze virtuális gépekről és méretezési csoportokból: Gazdagépmetrikák és vendégmetrikák. Magas szinten, ha standard CPU-, lemez- és hálózati metrikákat szeretne használni, akkor a gazdagép-metrikák megfelelőek. Ha azonban nagyobb metrikákra van szüksége, akkor meg kell vizsgálni a vendégmetrikákat.
A gazdagépmetrikák nem igényelnek további beállításokat, mert a gazdagép virtuális gép gyűjti őket, míg a vendégmetrikákhoz telepítenie kell a Windows Azure Diagnostics bővítményt vagy a Linux Azure Diagnostics bővítményt a vendég virtuális gépen. A vendégmetrikák gazdagépmetrikák helyett való használatának egyik gyakori oka, hogy a vendégmetrikák nagyobb metrikaválasztékot biztosítanak, mint a gazdagépmetrikák. Ilyenek például a memóriahasználati metrikák, amelyek csak vendégmetrikákon keresztül érhetők el. A támogatott gazdagépmetrikákat itt találja, a gyakran használt vendégmetrikákat pedig itt találja. Ez a cikk bemutatja, hogyan módosíthatja az alapvető működőképes méretezési csoport sablonját úgy, hogy a Linux-méretezési csoportok vendégmetrikái alapján automatikus skálázási szabályokat használjon.
A sablondefiníció módosítása
Egy korábbi cikkben létrehoztunk egy alapszintű méretezésicsoport-sablont. Most ezt a korábbi sablont fogjuk használni, és módosítjuk egy olyan sablon létrehozásához, amely vendégmetrikaalapú automatikus skálázással üzembe helyez egy Linux-méretezési csoportot.
Először adja hozzá a és storageAccountSasToken
a paraméterétstorageAccountName
. A diagnosztikai ügynök a tárfiók egyik táblájában tárolja a metrikaadatokat. A Linux diagnosztikai ügynök 3.0-s verziójától a tárelérési kulcs használata már nem támogatott. Ehelyett használjon SAS-jogkivonatot.
},
"adminPassword": {
"type": "securestring"
+ },
+ "storageAccountName": {
+ "type": "string"
+ },
+ "storageAccountSasToken": {
+ "type": "securestring"
}
},
Ezután módosítsa a méretezési csoportot extensionProfile
úgy, hogy tartalmazza a diagnosztikai bővítményt. Ebben a konfigurációban adja meg a méretezési csoport erőforrás-azonosítóját, amelyből metrikákat gyűjthet, valamint a metrikák tárolásához használandó tárfiókot és SAS-jogkivonatot. Adja meg, hogy a metrikák milyen gyakran legyenek összesítve (ebben az esetben percenként), és hogy mely metrikákat kell nyomon követni (ebben az esetben a felhasznált memória százalékos aránya). A konfigurációval és a felhasznált memória százalékán kívüli metrikákkal kapcsolatos részletesebb információkért tekintse meg ezt a dokumentációt.
}
}
]
+ },
+ "extensionProfile": {
+ "extensions": [
+ {
+ "name": "LinuxDiagnosticExtension",
+ "properties": {
+ "publisher": "Microsoft.Azure.Diagnostics",
+ "type": "LinuxDiagnostic",
+ "typeHandlerVersion": "3.0",
+ "settings": {
+ "StorageAccount": "[parameters('storageAccountName')]",
+ "ladCfg": {
+ "diagnosticMonitorConfiguration": {
+ "performanceCounters": {
+ "sinks": "WADMetricJsonBlob",
+ "performanceCounterConfiguration": [
+ {
+ "unit": "percent",
+ "type": "builtin",
+ "class": "memory",
+ "counter": "percentUsedMemory",
+ "counterSpecifier": "/builtin/memory/percentUsedMemory",
+ "condition": "IsAggregate=TRUE"
+ }
+ ]
+ },
+ "metrics": {
+ "metricAggregation": [
+ {
+ "scheduledTransferPeriod": "PT1M"
+ }
+ ],
+ "resourceId": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', 'myScaleSet')]"
+ }
+ }
+ }
+ },
+ "protectedSettings": {
+ "storageAccountName": "[parameters('storageAccountName')]",
+ "storageAccountSasToken": "[parameters('storageAccountSasToken')]",
+ "sinksConfig": {
+ "sink": [
+ {
+ "name": "WADMetricJsonBlob",
+ "type": "JsonBlob"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ]
}
}
}
Végül adjon hozzá egy erőforrást autoscaleSettings
az automatikus skálázás konfigurálásához ezen metrikák alapján. Ennek az erőforrásnak van egy dependsOn
záradéka, amely a méretezési csoportra hivatkozik, hogy a méretezési csoport létezik-e, mielőtt megkísérli az automatikus skálázást. Ha egy másik metrikát választ az automatikus skálázáshoz, az automatikus skálázási konfigurációban a counterSpecifier
diagnosztikai bővítmény konfigurációját metricName
használja. Az automatikus skálázás konfigurálásával kapcsolatos további információkért tekintse meg az automatikus skálázás ajánlott eljárásait és az Azure Monitor REST API referenciadokumentációját.
+ },
+ {
+ "type": "Microsoft.Insights/autoscaleSettings",
+ "apiVersion": "2015-04-01",
+ "name": "guestMetricsAutoscale",
+ "location": "[resourceGroup().location]",
+ "dependsOn": [
+ "Microsoft.Compute/virtualMachineScaleSets/myScaleSet"
+ ],
+ "properties": {
+ "name": "guestMetricsAutoscale",
+ "targetResourceUri": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', 'myScaleSet')]",
+ "enabled": true,
+ "profiles": [
+ {
+ "name": "Profile1",
+ "capacity": {
+ "minimum": "1",
+ "maximum": "10",
+ "default": "3"
+ },
+ "rules": [
+ {
+ "metricTrigger": {
+ "metricName": "/builtin/memory/percentUsedMemory",
+ "metricNamespace": "",
+ "metricResourceUri": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', 'myScaleSet')]",
+ "timeGrain": "PT1M",
+ "statistic": "Average",
+ "timeWindow": "PT5M",
+ "timeAggregation": "Average",
+ "operator": "GreaterThan",
+ "threshold": 60
+ },
+ "scaleAction": {
+ "direction": "Increase",
+ "type": "ChangeCount",
+ "value": "1",
+ "cooldown": "PT1M"
+ }
+ },
+ {
+ "metricTrigger": {
+ "metricName": "/builtin/memory/percentUsedMemory",
+ "metricNamespace": "",
+ "metricResourceUri": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', 'myScaleSet')]",
+ "timeGrain": "PT1M",
+ "statistic": "Average",
+ "timeWindow": "PT5M",
+ "timeAggregation": "Average",
+ "operator": "LessThan",
+ "threshold": 30
+ },
+ "scaleAction": {
+ "direction": "Decrease",
+ "type": "ChangeCount",
+ "value": "1",
+ "cooldown": "PT1M"
+ }
+ }
+ ]
+ }
+ ]
+ }
}
]
}
Következő lépések
Az előző sablon üzembe helyezéséhez kövesse az Azure Resource Manager dokumentációjában leírtakat.
Ezt az oktatóanyag-sorozatot az alapszintű méretezési csoport sablonjának cikkéből indíthatja el.
Megtudhatja, hogyan módosíthatja az alapszintű méretezésicsoport-sablonta méretezési csoport meglévő virtuális hálózaton való üzembe helyezéséhez.
Megtudhatja, hogyan módosíthatja az alapszintű méretezésicsoport-sablonta méretezési csoport egyéni rendszerképpel való üzembe helyezéséhez.
Megtudhatja, hogyan módosíthatja az alapszintű méretezési csoport sablonjátegy Linux-méretezési csoport vendégalapú automatikus skálázással történő üzembe helyezéséhez.
A méretezési csoportokkal kapcsolatos további információkért tekintse meg a méretezési csoport áttekintési oldalát.