Sdílet prostřednictvím


Monitorování výkonu s rozšířením Windows Azure Diagnostics

Tento dokument popisuje kroky potřebné k nastavení kolekce čítačů výkonu prostřednictvím rozšíření Windows Azure Diagnostics (WAD) pro clustery s Windows. V případě linuxových clusterů nastavte agenta Log Analytics tak, aby pro uzly shromažďovat čítače výkonu.

Poznámka

Rozšíření WAD by mělo být nasazené ve vašem clusteru, aby vám tyto kroky fungovaly. Pokud není nastavená, přejděte k části Agregace a shromažďování událostí pomocí windows Azure Diagnostics.

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. 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.

Shromažďování čítačů výkonu prostřednictvím WadCfg

Pokud chcete shromažďovat čítače výkonu prostřednictvím WAD, musíte odpovídajícím způsobem upravit konfiguraci v šabloně Resource Manager vašeho clusteru. Pomocí těchto kroků přidejte do šablony čítač výkonu, který chcete shromáždit, a spusťte upgrade prostředku Resource Manager.

  1. V šabloně clusteru vyhledejte konfiguraci WAD – vyhledejte WadCfg. Budete přidávat čítače výkonu, které se mají shromažďovat v rámci DiagnosticMonitorConfiguration.

  2. Nastavte konfiguraci pro shromažďování čítačů výkonu přidáním následující části do .DiagnosticMonitorConfiguration

    "PerformanceCounters": {
        "scheduledTransferPeriod": "PT1M",
        "PerformanceCounterConfiguration": []
    }
    

    Definuje scheduledTransferPeriod , jak často se hodnoty shromážděných čítačů přenášejí do tabulky úložiště Azure a do nakonfigurované jímky.

  3. Přidejte čítače výkonu, které chcete shromáždit, do čítačů PerformanceCounterConfiguration , které byly deklarovány v předchozím kroku. Každý čítač, který chcete shromáždit, je definovaný pomocí counterSpecifier, sampleRate, unit, annotationa libovolných relevantních sinks.

Tady je příklad konfigurace s čítačem pro celkový čas procesoru (doba, po kterou se procesor používal pro operace zpracování) a volání metod objektu Actor service Fabric za sekundu, jeden z vlastních čítačů výkonu Service Fabric. Úplný seznam vlastních čítačů výkonu Service Fabric najdete v tématu Čítače výkonu reliable actor a Reliable Service Performance Čítače výkonu .

"WadCfg": {
        "DiagnosticMonitorConfiguration": {
          "overallQuotaInMB": "50000",
          "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"
                }
              }
            ]
          },
          "PerformanceCounters": {
                "scheduledTransferPeriod": "PT1M",
                "PerformanceCounterConfiguration": [
                    {
                        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                        "sampleRate": "PT1M",
                        "unit": "Percent",
                        "annotation": [
                        ],
                        "sinks": ""
                    },
                    {
                        "counterSpecifier": "\\Service Fabric Actor Method(*)\\Invocations/Sec",
                        "sampleRate": "PT1M",
                    }
                ]
            }
        }
      },

Vzorkovací frekvenci pro čítač můžete upravit podle vašich potřeb. Formát je PT<time><unit>, takže pokud chcete čítač shromažďovat každou sekundu "sampleRate": "PT15S", měli byste nastavit .

Pomocí proměnných v šabloně ARM můžete také shromáždit pole čítačů výkonu, což se může hodit při shromažďování čítačů výkonu pro jednotlivé procesy. V následujícím příkladu shromažďujeme čas procesoru a dobu uvolňování paměti na proces a pak 2 čítače výkonu na samotných uzlech pomocí proměnných.

"variables": {
  "copy": [
      {
        "name": "processorTimeCounters",
        "count": "[length(parameters('monitoredProcesses'))]",
        "input": {
          "counterSpecifier": "\\Process([parameters('monitoredProcesses')[copyIndex('processorTimeCounters')]])\\% Processor Time",
          "sampleRate": "PT1M",
          "unit": "Percent",
          "sinks": "applicationInsights",
          "annotation": [
            {
              "displayName": "[concat(parameters('monitoredProcesses')[copyIndex('processorTimeCounters')],' Processor Time')]",
              "locale": "en-us"
            }
          ]
        }
      },
      {
        "name": "gcTimeCounters",
        "count": "[length(parameters('monitoredProcesses'))]",
        "input": {
          "counterSpecifier": "\\.NET CLR Memory([parameters('monitoredProcesses')[copyIndex('gcTimeCounters')]])\\% Time in GC",
          "sampleRate": "PT1M",
          "unit": "Percent",
          "sinks": "applicationInsights",
          "annotation": [
            {
              "displayName": "[concat(parameters('monitoredProcesses')[copyIndex('gcTimeCounters')],' Time in GC')]",
              "locale": "en-us"
            }
          ]
        }
      }
    ],
    "machineCounters": [
      {
        "counterSpecifier": "\\Memory\\Available Bytes",
        "sampleRate": "PT1M",
        "unit": "KB",
        "sinks": "applicationInsights",
        "annotation": [
          {
            "displayName": "Memory Available Kb",
            "locale": "en-us"
          }
        ]
      },
      {
        "counterSpecifier": "\\Memory\\% Committed Bytes In Use",
        "sampleRate": "PT15S",
        "unit": "percent",
        "annotation": [
          {
            "displayName": "Memory usage",
            "locale": "en-us"
          }
        ]
      }
    ]
  }
....
"WadCfg": {
    "DiagnosticMonitorConfiguration": {
      "overallQuotaInMB": "50000",
      "Metrics": {
        "metricAggregation": [
          {
            "scheduledTransferPeriod": "PT1M"
          }
        ],
        "resourceId": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', variables('vmNodeTypeApp2Name'))]"
      },
      "PerformanceCounters": {
        "scheduledTransferPeriod": "PT1M",
        "PerformanceCounterConfiguration": "[concat(variables ('processorTimeCounters'), variables('gcTimeCounters'),  variables('machineCounters'))]"
      },
....
  1. Jakmile přidáte odpovídající čítače výkonu, které je potřeba shromáždit, musíte upgradovat prostředek clusteru, aby se tyto změny projevily ve spuštěném clusteru. Uložte upravený template.json powershell a otevřete ho. Cluster můžete upgradovat pomocí New-AzResourceGroupDeployment. Volání vyžaduje název skupiny prostředků, aktualizovaný soubor šablony a soubor parametrů a vyzve Resource Manager k provedení odpovídajících změn prostředků, které jste aktualizovali. Jakmile se přihlásíte ke svému účtu a budete ve správném předplatném, spusťte upgrade pomocí následujícího příkazu:

    New-AzResourceGroupDeployment -ResourceGroupName <ResourceGroup> -TemplateFile <PathToTemplateFile> -TemplateParameterFile <PathToParametersFile> -Verbose
    
  2. Jakmile se upgrade dokončí (trvá to 15 až 45 minut v závislosti na tom, jestli se jedná o první nasazení a velikost vaší skupiny prostředků), wad by měl shromažďovat čítače výkonu a odesílat je do tabulky s názvem WADPerformanceCountersTable v účtu úložiště přidruženém k vašemu clusteru. Podívejte se na čítače výkonu v Application Insights přidáním jímky AI do šablony Resource Manager.

Další kroky