Vendég operációsrendszer-metrikák küldése az Azure Monitor metrikatárolójába EGY ARM-sablon használatával Windows rendszerű virtuális géphez

Az Azure-beli virtuális gépek vendég operációs rendszeréből származó teljesítményadatok nem lesznek automatikusan összegyűjtve, mint más platformmetrikák. Telepítse az Azure Monitor Diagnostics bővítményt , hogy vendég operációsrendszer-metrikákat gyűjtsön a metrikák adatbázisába, hogy az az Azure Monitor-metrikák összes funkciójával használható legyen. Ezek a funkciók közé tartozik a közel valós idejű riasztás, a diagramkészítés, az útválasztás és a REST API-ból való hozzáférés. Ez a cikk a Windows rendszerű virtuális gépek vendég operációs rendszerének teljesítménymetrikáinak Azure Resource Manager-sablon (ARM-sablon) használatával történő elküldésének folyamatát ismerteti a metrikák adatbázisába.

Megjegyzés:

A diagnosztikai bővítménynek a vendég operációsrendszer-metrikák Azure Portallal történő gyűjtésére való konfigurálásával kapcsolatos részletekért lásd a Windows Azure Diagnostics (WAD) bővítmény telepítését és konfigurálását.

Ha még nem ismeri az ARM-sablonokat, ismerje meg a sablonok üzembe helyezését , 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 ARM-sablonnal és PowerShell-lel az új Azure Monitor-adatgyűjtő használatával.

ARM template

Ebben a példában egy nyilvánosan elérhető mintasablont használhat. A kezdősablonok a GitHubon találhatók.

  • Azuredeploy.json: Előre konfigurált ARM-sablon egy virtuális gép üzembe helyezéséhez.
  • 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 az ARM-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

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

  2. Adja meg a adminUsername virtuális gép értékeit.adminPassword Ezek a paraméterek a virtuális gép 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 sablon értékeit. A robotok a nyilvános GitHub-adattárakban lévő felhasználóneveket és jelszavakat keresik az interneten. Valószínűleg ezekkel az alapértelmezett beállításokkal tesztelik a virtuális gépeket.

  3. Hozzon létre egy egyedit dnsname a virtuális géphez.

Az azuredeploy.json módosítása

  1. Nyissa meg az azuredeploy.json fájlt.

  2. Adjon hozzá egy tárfiók-azonosítót a variables sablon szakaszához a bejegyzés storageAccountNameután.

    // Find these lines.
    "variables": {
        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'sawinvm')]",
    
    // Add this line directly below.
        "accountid": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
    
  3. Adja hozzá ezt a felügyeltszolgáltatás-identitás (MSI) bővítményt a szakasz tetején resources található sablonhoz. A bővítmény biztosítja, hogy az Azure Monitor elfogadja a kibocsátott metrikákat.

    //Find this code.
    "resources": [
    // Add this code directly below.
        {
            "type": "Microsoft.Compute/virtualMachines/extensions",
            "name": "[concat(variables('vmName'), '/', 'WADExtensionSetup')]",
            "apiVersion": "2017-12-01",
            "location": "[resourceGroup().location]",
            "dependsOn": [
                "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" ],
            "properties": {
                "publisher": "Microsoft.ManagedIdentity",
                "type": "ManagedIdentityExtensionForWindows",
                "typeHandlerVersion": "1.0",
                "autoUpgradeMinorVersion": true,
                "settings": {
                    "port": 50342
                }
            }
        },
    
  4. Adja hozzá a identity konfigurációt a virtuálisgép-erőforráshoz, hogy az Azure rendszeridentitást rendeljen az MSI-bővítményhez. Ez a lépés biztosítja, hogy a virtuális gép kibocsáthassa magáról a vendégmetrikákat az Azure Monitorba.

    // Find this section
                    "subnet": {
                "id": "[variables('subnetRef')]"
                }
            }
            }
        ]
        }
    },
    {
        "apiVersion": "2017-03-30",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[resourceGroup().location]",
        // add these 3 lines below
        "identity": {
        "type": "SystemAssigned"
        },
        //end of added lines
        "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
        "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
        ],
        "properties": {
        "hardwareProfile": {
        ...
    
  5. Adja hozzá a következő konfigurációt a diagnosztikai bővítmény windowsos virtuális gépeken való engedélyezéséhez. Egyszerű Resource Manager-alapú virtuális gép esetén hozzáadhatja a bővítménykonfigurációt a virtuális gép erőforrástömbjében. A sor "sinks": "AzMonSink"és a szakasz későbbi "SinksConfig" része lehetővé teszi, hogy a bővítmény metrikákat bocsáthasson ki közvetlenül az Azure Monitornak. Igény szerint hozzáadhat vagy eltávolíthat teljesítményszámlálókat.

            "networkProfile": {
                "networkInterfaces": [
                {
                    "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]"
                }
                ]
            },
    "diagnosticsProfile": {
        "bootDiagnostics": {
        "enabled": true,
        "storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob]"
        }
    }
    },
    //Start of section to add
    "resources": [
    {
                "type": "Microsoft.Compute/virtualMachines/extensions",
                "name": "[concat(variables('vmName'), '/', 'Microsoft.Insights.VMDiagnosticsSettings')]",
                "apiVersion": "2017-12-01",
                "location": "[resourceGroup().location]",
                "dependsOn": [
                "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
                ],
                "properties": {
                "publisher": "Microsoft.Azure.Diagnostics",
                "type": "IaaSDiagnostics",
                "typeHandlerVersion": "1.12",
                "autoUpgradeMinorVersion": true,
                "settings": {
                    "WadCfg": {
                    "DiagnosticMonitorConfiguration": {
        "overallQuotaInMB": 4096,
        "DiagnosticInfrastructureLogs": {
                        "scheduledTransferLogLevelFilter": "Error"
            },
                        "Directories": {
                        "scheduledTransferPeriod": "PT1M",
        "IISLogs": {
                            "containerName": "wad-iis-logfiles"
                        },
                        "FailedRequestLogs": {
                            "containerName": "wad-failedrequestlogs"
                        }
                        },
                        "PerformanceCounters": {
                        "scheduledTransferPeriod": "PT1M",
                        "sinks": "AzMonSink",
                        "PerformanceCounterConfiguration": [
                            {
                            "counterSpecifier": "\\Memory\\Available Bytes",
                            "sampleRate": "PT15S"
                            },
                            {
                            "counterSpecifier": "\\Memory\\% Committed Bytes In Use",
                            "sampleRate": "PT15S"
                            },
                            {
                            "counterSpecifier": "\\Memory\\Committed Bytes",
                            "sampleRate": "PT15S"
                            }
                        ]
                        },
                        "WindowsEventLog": {
                        "scheduledTransferPeriod": "PT1M",
                        "DataSource": [
                            {
                            "name": "Application!*"
                            }
                        ]
                        },
                        "Logs": {
                        "scheduledTransferPeriod": "PT1M",
                        "scheduledTransferLogLevelFilter": "Error"
                        }
                    },
                    "SinksConfig": {
                        "Sink": [
                        {
                            "name" : "AzMonSink",
                            "AzureMonitor" : {}
                        }
                        ]
                    }
                    },
                    "StorageAccount": "[variables('storageAccountName')]"
                },
                "protectedSettings": {
                    "storageAccountName": "[variables('storageAccountName')]",
                    "storageAccountKey": "[listKeys(variables('accountid'),'2015-06-15').key1]",
                    "storageAccountEndPoint": "https://core.windows.net/"
                }
                }
            }
            ]
    //End of section to add
    
  6. Mentse és zárja be mindkét fájlt.

Az ARM-sablon üzembe helyezése

Megjegyzés:

Az Azure Diagnostics-bővítmény 1.5-ös vagy újabb verziójának kell futnia, és a tulajdonság be van állítva true az autoUpgradeMinorVersion: ARM-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.

Az ARM-sablon üzembe helyezéséhez az Azure PowerShellt használjuk.

  1. Indítsa el a PowerShellt.

  2. Jelentkezzen be az Azure-ba a következő használatával 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 virtuális gép létrehozásához/frissítéséhez használt előfizetést a következő helyen:

    Select-AzSubscription -SubscriptionName "<Name of the subscription>"
    
  5. Az üzembe helyezett virtuális gép új erőforráscsoportjának létrehozásához futtassa a következő parancsot:

     New-AzResourceGroup -Name "<Name of Resource Group>" -Location "<Azure Region>"
    

    Megjegyzés:

    Ne felejtsen el egyéni metrikákhoz engedélyezett Azure-régiót használni.

  6. Futtassa az alábbi parancsokat a virtuális gép ARM-sablonnal történő üzembe helyezéséhez.

    Megjegyzés:

    Ha frissíteni szeretne egy meglévő virtuális gépet, adja hozzá a -Mode Növekményes lehetőséget a következő parancs végéhez.

    New-AzResourceGroupDeployment -Name "<NameThisDeployment>" -ResourceGroupName "<Name of the Resource Group>" -TemplateFile "<File path of your Resource Manager template>" -TemplateParameterFile "<File path of your parameters file>"
    
  7. Az üzembe helyezés sikerességét követően a virtuális gépnek az Azure Portalon kell lennie, és metrikákat kell kibocsátani az Azure Monitorba.

    Megjegyzés:

    Előfordulhat, hogy hibákba ütközik a kijelölt vmSkuSizeelem körül. Ha ez a hiba történik, térjen vissza az azuredeploy.json fájlhoz, és frissítse a vmSkuSize paraméter alapértelmezett értékét. Ebben az esetben azt 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.

    Screenshot that shows the Metrics 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ális gépet. Ha nem módosította a sablon nevét, annak SimpleWinVM2-nek kell lennie.

  6. A névterek legördülő listájában válassza az azure.vm.windows.guestmetrics lehetőséget.

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

További lépések

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