Skicka mått för gästoperativsystem till Azure Monitor måttarkiv med hjälp av en Azure Resource Manager mall för en virtuell Windows-dator

Prestandadata från gästoperativsystemet för virtuella Azure-datorer samlas inte in automatiskt som andra plattformsmått. Installera Azure Monitor Diagnostics-tillägget för att samla in mått för gästoperativsystem i måttdatabasen så att det kan användas med alla funktioner i Azure Monitor-mått, inklusive aviseringar i nära realtid, diagram, routning och åtkomst från en REST API. I den här artikeln beskrivs processen för att skicka prestandamått för gästoperativsystem för en virtuell Windows-dator till måttdatabasen med hjälp av Resource Manager mall.

Anteckning

Mer information om hur du konfigurerar diagnostiktillägget för att samla in mått för gästoperativsystem med hjälp av Azure Portal finns i Installera och konfigurera Windows Azure Diagnostics-tillägget (WAD).

Om du inte har Resource Manager mallar kan du lära dig mer om malldistributioner och deras struktur och syntax.

Förutsättningar

Konfigurera Azure Monitor som en data mottagare

Tillägget Azure Diagnostics använder en funktion som kallas "data mottagare" för att dirigera mått och loggar till olika platser. Följande steg visar hur du använder en Resource Manager-mall och PowerShell för att distribuera en virtuell dator med hjälp av den nya Azure Monitor"-datakällan.

Skapa Resource Manager mall

I det här exemplet kan du använda en offentligt tillgänglig exempelmall. Startmallarna finns på https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.compute/vm-simple-windows .

  • Azuredeploy.jspå är en förkonfigurerad Resource Manager mall för distribution av en virtuell dator.

  • Azuredeploy.parameters.jspå är en parameterfil som lagrar information, till exempel vilket användarnamn och lösenord du vill ange för den virtuella datorn. Under distributionen Resource Manager mallen de parametrar som anges i den här filen.

Ladda ned och spara båda filerna lokalt.

Ändra azuredeploy.parameters.jspå

Öppna filenazuredeploy.parameters.jsfilen

  1. Ange värden för adminUsername och adminPassword för den virtuella datorn. Dessa parametrar används för fjärråtkomst till den virtuella datorn. Använd INTE värdena i den här mallen för att undvika att den virtuella datorn kapas. Robotar söker igenom Internet efter användarnamn och lösenord på offentliga GitHub-lagringsplatsen. De kommer troligen att testa virtuella datorer med dessa standardvärden.

  2. Skapa ett unikt dnsname för den virtuella datorn.

Ändra azuredeploy.jspå

Öppna filenazuredeploy.jsfilen

Lägg till ett lagringskonto-ID i variabelavsnittet i mallen efter posten för storageAccountName.

// Find these lines.
"variables": {
    "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'sawinvm')]",

// Add this line directly below.
    "accountid": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",

Lägg till det här MSI-tillägget (Hanterad tjänstidentitet) i mallen överst i resursavsnittet. Tillägget säkerställer Azure Monitor godkänner de mått som genereras.

//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
            }
        }
    },

Lägg till identitetskonfigurationen till VM-resursen för att säkerställa att Azure tilldelar en systemidentitet till MSI-tillägget. Det här steget säkerställer att den virtuella datorn kan generera gästmått om sig själv till Azure Monitor.

// 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": {
    ...

Lägg till följande konfiguration för att aktivera diagnostiktillägget på en virtuell Windows-dator. För en enkel Resource Manager-baserad virtuell dator kan vi lägga till tilläggskonfigurationen i resursmatrisen för den virtuella datorn. Raden "sinks" — "AzMonSink" och motsvarande "SinksConfig" senare i avsnittet gör det möjligt för tillägget att generera mått — direkt till Azure Monitor. Du kan lägga till eller ta bort prestandaräknare efter behov.

        "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

Spara och stäng båda filerna.

Distribuera Resource Manager mall

Anteckning

Du måste köra Azure Diagnostics version 1.5 eller senare och ha egenskapen autoUpgradeMinorVersion: inställd på "true" i din Resource Manager mall. Azure läser sedan in rätt tillägg när den virtuella datorn startas. Om du inte har de här inställningarna i mallen ändrar du dem och distribuerar mallen igen.

För att distribuera Resource Manager-mallen använder vi Azure PowerShell.

  1. Starta PowerShell.

  2. Logga in på Azure med Login-AzAccount .

  3. Hämta din lista över prenumerationer med hjälp av Get-AzSubscription .

  4. Ange den prenumeration som du använder för att skapa/uppdatera den virtuella datorn i:

    Select-AzSubscription -SubscriptionName "<Name of the subscription>"
    
  5. Kör följande kommando för att skapa en ny resursgrupp för den virtuella dator som distribueras:

     New-AzResourceGroup -Name "<Name of Resource Group>" -Location "<Azure Region>"
    
  6. Kör följande kommandon för att distribuera den virtuella datorn med hjälp av Resource Manager mallen.

    Anteckning

    Om du vill uppdatera en befintlig virtuell dator lägger du helt enkelt till -Mode Incremental (Läge inkrementell) i slutet av följande kommando.

    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. När distributionen är bra bör den virtuella datorn finnas i Azure Portal och generera mått till Azure Monitor.

    Anteckning

    Du kan få fel runt den valda vmSkuSize. Om det händer går du tillbaka till azuredeploy.jspå filen och uppdaterar standardvärdet för vmSkuSize-parametern. I det här fallet rekommenderar vi att du provar "Standard_DS1_v2").

Diagram över dina mått

  1. Logga in på Azure Portal.

  2. Välj Övervaka på den vänstra menyn.

  3. På sidan Övervaka väljer du Mått.

    Sidan Mått

  4. Ändra aggregeringsperioden till Senaste 30 minuterna.

  5. I den nedrullningsna resursmenyn väljer du den virtuella dator som du skapade. Om du inte har ändrat namnet i mallen ska det vara SimpleWinVM2.

  6. I listrutan namnområden väljer du azure.vm.windows.guest

  7. I den nedrullningsna menyn mått väljer du Memory Committed Bytes i % Använd.

Nästa steg