Vendég operációsrendszer-metrikák küldése az Azure Monitor metrikatárolójába egy Azure Resource Manager-sablon használatával Windows rendszerű virtuálisgép-méretezési csoporthoz

Megjegyzés:

We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

A Windowshoz készült Azure Monitor Azure Diagnostics bővítmény (WAD) használatával metrikákat és naplókat gyűjthet a virtuális gép, felhőszolgáltatás vagy Azure Service Fabric-fürt részeként futó vendég operációs rendszerből (vendég operációs rendszerből). A bővítmény telemetriát küldhet a korábban hivatkozott cikkben felsorolt számos különböző helyre.

Ez a cikk azt ismerteti, hogyan küldheti el a vendég operációs rendszer teljesítménymetrikáit egy Windows rendszerű virtuálisgép-méretezési csoporthoz az Azure Monitor adattárba. A Microsoft Azure Diagnostics 1.11-es verziójától kezdve metrikákat írhat közvetlenül az Azure Monitor metrikáinak tárolójába, ahol a standard platformmetrikákat már összegyűjtöttük. Ha ezen a helyen tárolja őket, ugyanazokat a műveleteket érheti el, amelyek a platformmetrikákhoz érhetők el. A műveletek közé tartozik a közel valós idejű riasztás, a diagramkészítés, az útválasztás, a REST API-ból való hozzáférés stb. Korábban a Microsoft Azure Diagnostics bővítmény az Azure Storage-ba írt, de az Azure Monitor adattárba nem.

Ha még nem ismeri a Resource Manager-sablonokat, ismerje meg a sablontelepítéseket , valamint azok szerkezetét és szintaxisát.

Előfeltételek

Az Azure Monitor beállítása adatgyűjtőként

Az Azure Diagnostics bővítmény egy adatgyűjtők nevű funkciót használ a metrikák és naplók különböző helyekre való átirányításához. Az alábbi lépések bemutatják, hogyan helyezhet üzembe egy virtuális gépet Resource Manager-sablonnal és PowerShell-lel az új Azure Monitor-adatgyűjtő használatával.

Resource Manager-sablon létrehozása

Ebben a példában egy nyilvánosan elérhető mintasablont használhat:

  • Az Azuredeploy.json egy előre konfigurált Resource Manager-sablon egy virtuálisgép-méretezési csoport üzembe helyezéséhez.

  • Az Azuredeploy.parameters.json egy paraméterfájl, amely olyan információkat tárol, mint a virtuális géphez beállítani kívánt felhasználónév és jelszó. Az üzembe helyezés során a Resource Manager-sablon a fájlban beállított paramétereket használja.

Töltse le és mentse mindkét fájlt helyileg.

Az azuredeploy.parameters.json módosítása

Nyissa meg az azuredeploy.parameters.json fájlt:

  • Adjon meg egy üzembe helyezni kívánt virtuálisgép-termékváltozatot . Javasoljuk, hogy Standard_D2_v3.
  • Adjon meg egy windowsOSVersion-t a virtuálisgép-méretezési csoporthoz. A 2016-Datacenter használatát javasoljuk.
  • Nevezze el az üzembe helyezendő virtuálisgép-méretezési csoport erőforrását egy vmssName tulajdonság használatával. Ilyen például a VMSS-WAD-TEST.
  • Adja meg a virtuálisgép-méretezési csoportban futtatni kívánt virtuális gépek számát a instanceCount tulajdonság használatával.
  • Adja meg a virtuálisgép-méretezési csoport adminUsername és adminPassword értékeit. Ezek a paraméterek a méretezési csoportban lévő virtuális gépek távoli elérésére szolgálnak. A virtuális gép eltérítésének elkerülése érdekében ne használja a sablonban szereplőeket. A robotok felhasználóneveket és jelszavakat keresnek az interneten a nyilvános GitHub-adattárakban. Valószínűleg ezekkel az alapértelmezett beállításokkal tesztelik a virtuális gépeket.

Az azuredeploy.json módosítása

Nyissa meg az azuredeploy.json fájlt.

Adjon hozzá egy változót a tárfiók adatainak tárolásához a Resource Manager-sablonban. A diagnosztikai konfigurációs fájlban megadott naplók vagy teljesítményszámlálók mind az Azure Monitor metrikatárolójába, mind az itt megadott tárfiókba íródnak:

"variables": {
  //add this line
  "storageAccountName": "[concat('storage', uniqueString(resourceGroup().id))]",
  ...
}

Keresse meg a virtuálisgép-méretezési csoport definícióját az erőforrások szakaszban, és adja hozzá az identitásszakaszt a konfigurációhoz. Ez a kiegészítés biztosítja, hogy az Azure rendszeridentitást rendel hozzá. Ez a lépés azt is biztosítja, hogy a méretezési csoportban lévő virtuális gépek kibocsáthatják magukról a vendégmetrikákat az Azure Monitorba:

{ 
  "type": "Microsoft.Compute/virtualMachineScaleSets", 
  "name": "[variables('namingInfix')]", 
  "location": "[resourceGroup().location]", 
  "apiVersion": "2017-03-30", 
  //add these lines below
  "identity": { 
       "type": "systemAssigned" 
   }, 
   //end of lines to add
   ...
}

A virtuálisgép-méretezési csoport erőforrásában keresse meg a virtualMachineProfile szakaszt . Adjon hozzá egy új profilt extensionsProfile néven a bővítmények kezeléséhez.

A bővítményprofilban adjon hozzá egy új bővítményt a sablonhoz a VMSS-WAD-extension szakaszban látható módon. Ez a szakasz az Azure-erőforrások bővítményének felügyelt identitásai, amelyek biztosítják, hogy a kibocsátott metrikákat az Azure Monitor fogadja el. A névmező bármilyen nevet tartalmazhat.

Az MSI-bővítmény alábbi kódja a diagnosztikai bővítményt és a konfigurációt bővítményerőforrásként is hozzáadja a virtuálisgép-méretezési csoport erőforrásához. Igény szerint hozzáadhat vagy eltávolíthat teljesítményszámlálókat:

  "extensionProfile": {
    "extensions": [
      // BEGINNING of added code
      // Managed identities for Azure resources
      {
        "name": "VMSS-WAD-extension",
        "properties": {
          "publisher": "Microsoft.ManagedIdentity",
          "type": "ManagedIdentityExtensionForWindows",
          "typeHandlerVersion": "1.0",
          "autoUpgradeMinorVersion": true,
          "settings": {
            "port": 50342
          },
          "protectedSettings": {}
        }
      },
      // add diagnostic extension. (Remove this comment after pasting.)
      { 
        "name": "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]", 
        "properties": { 
          "type": "IaaSDiagnostics",
          "autoUpgradeMinorVersion": true,
          "protectedSettings": {
            "storageAccountName": "[variables('storageAccountName')]",
            "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')),'2015-05-01-preview').key1]",
            "storageAccountEndPoint": "https://core.windows.net/"
          },
          "publisher": "Microsoft.Azure.Diagnostics", 
          "settings": { 
            "WadCfg": { 
              "DiagnosticMonitorConfiguration": { 
                "overallQuotaInMB": "50000", 
                "PerformanceCounters": { 
                  "scheduledTransferPeriod": "PT1M", 
                  "sinks": "AzMonSink", 
                  "PerformanceCounterConfiguration": [
                    { 
                      "counterSpecifier": "\\Memory\\% Committed Bytes In Use", 
                      "sampleRate": "PT15S" 
                    },
                    { 
                      "counterSpecifier": "\\Memory\\Available Bytes", 
                      "sampleRate": "PT15S" 
                    }, 
                    { 
                      "counterSpecifier": "\\Memory\\Committed Bytes", 
                      "sampleRate": "PT15S" 
                    }
                  ]
                },
                "EtwProviders": {
                  "EtwEventSourceProviderConfiguration": [
                    { 
                      "provider": "Microsoft-ServiceFabric-Actors", 
                      "scheduledTransferKeywordFilter": "1", 
                      "scheduledTransferPeriod": "PT5M", 
                      "DefaultEvents": { 
                        "eventDestination": "ServiceFabricReliableActorEventTable" 
                      } 
                    }, 
                    { 
                      "provider": "Microsoft-ServiceFabric-Services", 
                      "scheduledTransferPeriod": "PT5M", 
                      "DefaultEvents": { 
                        "eventDestination": "ServiceFabricReliableServiceEventTable" 
                      } 
                    } 
                  ], 
                  "EtwManifestProviderConfiguration": [
                    {
                       "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8", 
                       "scheduledTransferLogLevelFilter": "Information", 
                       "scheduledTransferKeywordFilter": "4611686018427387904", 
                       "scheduledTransferPeriod": "PT5M", 
                       "DefaultEvents": { 
                         "eventDestination": "ServiceFabricSystemEventTable" 
                       } 
                    } 
                  ]
                }
              },
              "SinksConfig": { 
                 "Sink": [ 
                    { 
                    "name": "AzMonSink", 
                    "AzureMonitor": {} 
                    } 
                 ]
              }
            },
            "StorageAccount": "[variables('storageAccountName')]" 
          },
          "typeHandlerVersion": "1.11" 
        }
      }
    ]
  },
  // end of added code. Be sure that the number and type of brackets match properly when done. 
  {
  "type": "Microsoft.Insights/autoscaleSettings",
  ...
  }

Adjon hozzá egy dependsOn függvényt a tárfiókhoz, hogy a megfelelő sorrendben legyen létrehozva:

"dependsOn": [
  "[concat('Microsoft.Network/loadBalancers/', variables('loadBalancerName'))]",
  "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]",
  //add this line below
  "[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]"
]

Hozzon létre egy tárfiókot, ha még nincs létrehozva a sablonban:

"resources": [
  // add this code
  {
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageAccountName')]",
    "apiVersion": "2015-05-01-preview",
    "location": "[resourceGroup().location]",
    "properties": {
      "accountType": "Standard_LRS"
    }
  },
  // end added code
  {
    "type": "Microsoft.Network/virtualNetworks",
    "name": "[variables('virtualNetworkName')]",
    ...
  }
]

Mentse és zárja be mindkét fájlt.

A Resource Manager-sablon üzembe helyezése

Megjegyzés:

Az Azure Diagnostics-bővítmény 1.5-ös vagy újabb verzióját kell futtatnia, és az autoUpgradeMinorVersion: tulajdonság értéke true (igaz) értékre van állítva a Resource Manager-sablonban. Az Azure ezután betölti a megfelelő bővítményt a virtuális gép indításakor. Ha nem rendelkezik ezekkel a beállításokkal a sablonban, módosítsa őket, és telepítse újra a sablont.

A Resource Manager-sablon üzembe helyezéséhez használja az Azure PowerShellt:

  1. Indítsa el a PowerShellt.

  2. Jelentkezzen be az Azure-ba a .Login-AzAccount

  3. Az előfizetések listájának lekérése a következő használatával Get-AzSubscription: .

  4. Állítsa be a létrehozni kívánt előfizetést, vagy frissítse a virtuális gépet:

    Select-AzSubscription -SubscriptionName "<Name of the subscription>"
    
  5. Hozzon létre egy új erőforráscsoportot az üzembe helyezett virtuális géphez. Futtassa az alábbi parancsot:

     New-AzResourceGroup -Name "VMSSWADtestGrp" -Location "<Azure Region>"
    
  6. Futtassa a következő parancsokat a virtuális gép üzembe helyezéséhez:

    Megjegyzés:

    Ha frissíteni szeretne egy meglévő méretezési csoportot, adja hozzá a -Mode Növekményes lehetőséget a parancs végéhez.

    New-AzResourceGroupDeployment -Name "VMSSWADTest" -ResourceGroupName "VMSSWADtestGrp" -TemplateFile "<File path of your azuredeploy.JSON file>" -TemplateParameterFile "<File path of your azuredeploy.parameters.JSON file>"
    
  7. Az üzembe helyezés sikerességét követően meg kell keresnie a virtuálisgép-méretezési csoportot az Azure Portalon. Metrikákat kell kibocsátani az Azure Monitorba.

    Megjegyzés:

    Előfordulhat, hogy a kiválasztott vmSkuSize körül hibákba ütközik. Ebben az esetben térjen vissza az azuredeploy.json fájlhoz, és frissítse a vmSkuSize paraméter alapértelmezett értékét. Javasoljuk, hogy próbálkozzon Standard_DS1_v2.

Metrikák diagramja

  1. Jelentkezzen be az Azure Portalra.

  2. A bal oldali menüben válassza a Figyelés lehetőséget.

  3. A Monitorozás lapon válassza a Metrikák lehetőséget.

    A screenshot showing the metrics menu item on the Azure Monitor menu page.

  4. Módosítsa az összesítési időszakot utolsó 30 percre.

  5. Az erőforrás legördülő menüjében válassza ki a létrehozott virtuálisgép-méretezési csoportot.

  6. A névterek legördülő menüben válassza a Virtuális gép vendége lehetőséget.

  7. A metrikák legördülő menüben válassza a Memória%Véglegesített bájtok használatban lehetőséget.

    A screenshot showing the selection of namespace metric and aggregation for a metrics chart.

Ezután dönthet úgy is, hogy a metrika dimenzióit használja egy adott virtuális gép diagramjára, vagy a méretezési csoportban lévő egyes virtuális gépeket ábrázolja.

További lépések

  • További információ az egyéni metrikákról.