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 Azure Resource Manageru pro škálovací sadu virtuálních 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 škálovacích sad virtuálních počítačů a doručuje je do služby Azure Monitor pro použití funkcemi, přehledy a dalšími službami, jako je Microsoft Sentinel a Microsoft Defender for Cloud.

Ke shromažďování protokolů a metrik ze škálovacích sad 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.

Pomocí rozšíření Azure Monitor Azure Diagnostics pro Windows (WAD) můžete shromažďovat metriky a protokoly z hostovaného operačního systému (hostovaného operačního systému), který běží jako součást virtuálního počítače, cloudové služby nebo clusteru Azure Service Fabric. Rozšíření může odesílat telemetrii do mnoha různých umístění uvedených v dříve propojeném článku.

Tento článek popisuje proces odesílání metrik výkonu hostovaného operačního systému pro škálovací sadu virtuálních počítačů s Windows do úložiště dat služby Azure Monitor. Počínaje službou Microsoft Azure Diagnostics verze 1.11 můžete napsat metriky přímo do úložiště metrik Služby Azure Monitor, kde se už shromažďují standardní metriky platformy. Když je uložíte do tohoto umístění, budete mít přístup ke stejným akcím, které jsou dostupné pro metriky platformy. Mezi akce patří upozorňování téměř v reálném čase, grafy, směrování, přístup z rozhraní REST API a další. V minulosti se rozšíření Microsoft Azure Diagnostics zapsala do služby Azure Storage, ale ne do úložiště dat služby Azure Monitor.

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

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

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 Resource Manageru a PowerShellu nasadit virtuální počítač pomocí nové datové jímky služby Azure Monitor.

Vytvoření šablony Resource Manageru

V tomto příkladu můžete použít veřejně dostupnou ukázkovou šablonu:

  • Azuredeploy.json je předem nakonfigurovaná šablona Resource Manageru pro nasazení škálovací sady virtuálních počítačů.

  • Azuredeploy.parameters.json je 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í šablona Resource Manageru používá parametry nastavené v tomto souboru.

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

Úprava azuredeploy.parameters.json

Otevřete soubor azuredeploy.parameters.json:

  • Zadejte vmSKU, kterou chcete nasadit. Doporučujeme Standard_D2_v3.
  • Zadejte požadovaný windowsOSVersion pro škálovací sadu virtuálních počítačů. Doporučujeme 2016-Datacenter.
  • Pojmenujte prostředek škálovací sady virtuálních počítačů, který se má nasadit pomocí vlastnosti vmssName . Příkladem je VMSS-WAD-TEST.
  • Zadejte počet virtuálních počítačů, které chcete spustit ve škálovací sadě virtuálních počítačů pomocí vlastnosti instanceCount .
  • Zadejte hodnoty pro adminUsername a adminPassword pro škálovací sadu virtuálních počítačů. Tyto parametry se používají pro vzdálený přístup k virtuálním počítačům ve škálovací sadě. Abyste se vyhnuli napadení virtuálního počítače, nepoužívejte ty, které jsou v této šabloně. Roboti na internetu vyhledávají 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.

Úprava azuredeploy.json

Otevřete soubor azuredeploy.json.

Přidejte proměnnou pro uložení informací o účtu úložiště v šabloně Resource Manageru. Všechny protokoly nebo čítače výkonu zadané v konfiguračním souboru diagnostiky se zapisují do úložiště metrik Azure Monitoru i do účtu úložiště, který zadáte tady:

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

V části prostředky vyhledejte definici škálovací sady virtuálních počítačů a přidejte do konfigurace oddíl identity . Díky tomuto přidání azure přiřadíte systémovou identitu. Tento krok také zajišťuje, aby virtuální počítače ve škálovací sadě mohly generovat metriky hosta do služby Azure Monitor:

{ 
  "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
   ...
}

V prostředku škálovací sady virtuálních počítačů vyhledejte část virtualMachineProfile . Přidejte nový profil s názvem extensionsProfile pro správu rozšíření.

V souboru extensionProfile přidejte do šablony nové rozšíření, jak je znázorněno v části Rozšíření VMSS-WAD. Tato část je spravovaná identita pro rozšíření prostředků Azure, která zajišťuje, aby služba Azure Monitor přijímala metriky, které se generují. Pole názvu může obsahovat libovolný název.

Následující kód z rozšíření MSI také přidá diagnostické rozšíření a konfiguraci jako prostředek rozšíření do prostředku škálovací sady virtuálních počítačů. Podle potřeby přidejte nebo odeberte čítače výkonu:

  "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",
  ...
  }

Přidejte pro účet úložiště závisléOn, abyste měli jistotu, že je vytvořený ve správném pořadí:

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

Pokud ještě není vytvořený v šabloně, vytvořte účet úložiště:

"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')]",
    ...
  }
]

Uložte a zavřete oba soubory.

Nasazení šablony Resource Manageru

Poznámka:

Musíte spustit rozšíření Azure Diagnostics verze 1.5 nebo vyšší a mít vlastnost autoUpgradeMinorVersion nastavenou na hodnotu true v šabloně Resource Manageru. 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.

Pokud chcete nasadit šablonu Resource Manageru, použijte 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é vytvoříte, nebo aktualizujte virtuální počítač:

    Select-AzSubscription -SubscriptionName "<Name of the subscription>"
    
  5. Vytvořte novou skupinu prostředků pro nasazované virtuální počítače. Spusťte následující příkaz:

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

    Poznámka:

    Pokud chcete aktualizovat existující škálovací sadu, přidejte -Mode Přírůstkový na konec příkazu.

    New-AzResourceGroupDeployment -Name "VMSSWADTest" -ResourceGroupName "VMSSWADtestGrp" -TemplateFile "<File path of your azuredeploy.JSON file>" -TemplateParameterFile "<File path of your azuredeploy.parameters.JSON file>"
    
  7. Po úspěšném nasazení byste měli na webu Azure Portal najít škálovací sadu virtuálních počítačů. Měla by generovat metriky do služby Azure Monitor.

    Poznámka:

    U vybrané vmSkuSize může docházet k chybám. V takovém případě se vraťte do souboru azuredeploy.json a aktualizujte výchozí hodnotu parametru vmSkuSize . Doporučujeme vyzkoušet Standard_DS1_v2.

Graf metrik

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

  2. V nabídce vlevo vyberte Monitor.

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

    Snímek obrazovky zobrazující položku nabídky metrik na stránce nabídky Azure Monitor

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

  5. V rozevírací nabídce prostředku vyberte škálovací sadu virtuálních počítačů, kterou jste vytvořili.

  6. V rozevírací nabídce oborů názvů vyberte Host virtuálního počítače.

  7. V rozevírací nabídce metrik vyberte Memory%Committed Bytes in Use (Použít paměti%Potvrzené bajty).

    Snímek obrazovky znázorňující výběr metriky oboru názvů a agregace pro graf metrik

Pak se můžete také rozhodnout, že použijete dimenze na této metrice k jeho grafu pro konkrétní virtuální počítač nebo k vykreslení jednotlivých virtuálních počítačů ve škálovací sadě.

Další kroky