Share via


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 storageAccountSasTokena 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.