Sdílet prostřednictvím


Odeslání metrik hostovaného operačního systému do úložiště metrik Služby Azure Monitor pomocí šablony ARM pro virtuální počítač s Windows

Poznámka:

Agent Služby Azure Monitor (AMA) shromažďuje data monitorování z hostovaného operačního systému Azure a hybridních virtuálních počítačů a doručuje je do služby Azure Monitor pro použití pomocí funkcí, přehledů a dalších služeb, jako jsou Microsoft Sentinel a Microsoft Defender for Cloud.

Ke shromažďování protokolů a metrik z virtuálních počítačů doporučujeme použít agenta služby Azure Monitor. Další informace najdete v tématu Přehled agenta služby Azure Monitor.

Údaje o výkonu z hostovaného operačního systému virtuálních počítačů Azure se neshromažďují automaticky, jako jsou jiné metriky platformy. Nainstalujte rozšíření Azure Monitor Diagnostics a shromážděte metriky hostovaného operačního systému do databáze metrik, aby bylo možné ho použít se všemi funkcemi metrik služby Azure Monitor. Mezi tyto funkce patří upozorňování v reálném čase, grafy, směrování a přístup z rozhraní REST API. Tento článek popisuje proces odesílání metrik výkonu hostovaného operačního systému pro virtuální počítač s Windows do databáze metrik pomocí šablony Azure Resource Manageru (šablona ARM).

Poznámka:

Podrobnosti o konfiguraci rozšíření diagnostiky pro shromažďování metrik hostovaného operačního systému pomocí webu Azure Portal najdete v tématu Instalace a konfigurace rozšíření Windows Azure Diagnostics (WAD).

Pokud s šablonami ARM začínáte, seznamte se s nasazeními šablon a jejich strukturou a syntaxí.

Požadavky

Nastavení služby Azure Monitor jako datové jímky

Rozšíření Azure Diagnostics používá funkci označovanou jako jímky dat ke směrování metrik a protokolů do různých umístění. Následující kroky ukazují, jak pomocí šablony ARM a PowerShellu nasadit virtuální počítač pomocí nové datové jímky služby Azure Monitor.

Šablona ARM

V tomto příkladu můžete použít veřejně dostupnou ukázkovou šablonu. Počáteční šablony jsou na GitHubu.

  • Azuredeploy.json: Předem nakonfigurovaná šablona ARM pro nasazení virtuálního počítače.
  • Azuredeploy.parameters.json: Soubor parametrů, který ukládá informace, jako je uživatelské jméno a heslo, které chcete pro virtuální počítač nastavit. Během nasazování používá šablona ARM parametry nastavené v tomto souboru.

Stáhněte a uložte oba soubory místně.

Úprava azuredeploy.parameters.json

  1. Otevřete soubor azuredeploy.parameters.json.

  2. Zadejte hodnoty pro adminUsername a adminPassword pro virtuální počítač. Tyto parametry se používají pro vzdálený přístup k virtuálnímu počítači. Abyste se vyhnuli napadení virtuálního počítače, nepoužívejte hodnoty v této šabloně. Roboti na internetu vyhledá uživatelská jména a hesla ve veřejných úložištích GitHubu. Pravděpodobně budou testovat virtuální počítače s těmito výchozími nastaveními.

  3. Vytvořte jedinečný dnsname virtuální počítač.

Úprava azuredeploy.json

  1. Otevřete soubor azuredeploy.json.

  2. Přidejte ID účtu úložiště do variables oddílu šablony za položku pro storageAccountName.

    // Find these lines.
    "variables": {
        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'sawinvm')]",
    
    // Add this line directly below.
        "accountid": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
    
  3. Přidejte toto rozšíření Identity spravované služby (MSI) do šablony v horní části oddílu resources . Rozšíření zajišťuje, že Azure Monitor přijímá metriky, které se generují.

    //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. identity Přidejte konfiguraci k prostředku virtuálního počítače, abyste zajistili, že Azure přiřadí systémové identitě k rozšíření MSI. Tento krok zajistí, že virtuální počítač může generovat metriky hosta o sobě do služby 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": {
        ...
    
  5. Přidejte následující konfiguraci, která povolí rozšíření diagnostiky na virtuálním počítači s Windows. Pro jednoduchý virtuální počítač založený na Resource Manageru můžete přidat konfiguraci rozšíření do pole prostředků pro virtuální počítač. Řádek "sinks": "AzMonSink"a odpovídající "SinksConfig" dále v části umožňují rozšíření generovat metriky přímo do služby Azure Monitor. Podle potřeby můžete přidávat nebo odebírat čítače výkonu.

            "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. Uložte a zavřete oba soubory.

Nasazení šablony ARM

Poznámka:

Musíte používat rozšíření Azure Diagnostics verze 1.5 nebo vyšší a mít vlastnost nastavenou autoUpgradeMinorVersion: v true šabloně ARM. Azure pak načte správné rozšíření při spuštění virtuálního počítače. Pokud tato nastavení v šabloně nemáte, změňte je a znovu ji nasaďte.

K nasazení šablony ARM používáme Azure PowerShell.

  1. Spusťte PowerShell.

  2. Přihlaste se k Azure pomocí .Login-AzAccount

  3. Získejte seznam předplatných pomocí Get-AzSubscription.

  4. Nastavte předplatné, které používáte k vytvoření nebo aktualizaci virtuálního počítače v:

    Select-AzSubscription -SubscriptionName "<Name of the subscription>"
    
  5. Pokud chcete vytvořit novou skupinu prostředků pro nasazený virtuální počítač, spusťte následující příkaz:

     New-AzResourceGroup -Name "<Name of Resource Group>" -Location "<Azure Region>"
    
  6. Spuštěním následujících příkazů nasaďte virtuální počítač pomocí šablony ARM.

    Poznámka:

    Pokud chcete aktualizovat existující virtuální počítač, přidejte na konec následujícího příkazu přírůstkový -Mode.

    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. Po úspěšném nasazení by měl být virtuální počítač na webu Azure Portal a generovat metriky do služby Azure Monitor.

    Poznámka:

    U vybraného objektu vmSkuSizemůže docházet k chybám . Pokud k této chybě dojde, vraťte se do souboru azuredeploy.json a aktualizujte výchozí hodnotu parametru vmSkuSize . V tomto případě doporučujeme vyzkoušet "Standard_DS1_v2").

Graf metrik

  1. Přihlaste se k portálu Azure.

  2. V nabídce vlevo vyberte Sledovat.

  3. Na stránce Monitorování vyberte Metriky.

    Snímek obrazovky znázorňující stránku Metriky

  4. Změňte agregační období na Posledních 30 minut.

  5. V rozevírací nabídce prostředků vyberte virtuální počítač, který jste vytvořili. Pokud jste název v šabloně nezměnili, mělo by to být SimpleWinVM2.

  6. V rozevíracím seznamu oborů názvů vyberte azure.vm.windows.guestmetrics.

  7. V rozevíracím seznamu metrik vyberte Memory%Committed Bytes in Use (Využité bajty paměti%Potvrzené bajty).

Další kroky

Přečtěte si další informace o vlastních metrikách.