Sdílet prostřednictvím


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

Tento dokument popisuje kroky potřebné k nastavení shromažďování čí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 shromažďuje čítače výkonu pro vaše uzly.

Poznámka:

Rozšíření WAD by se mělo nasadit do clusteru, aby tyto kroky fungovaly za vás. Pokud není nastavená, přejděte k agregaci a shromažďování událostí pomocí diagnostiky Windows Azure.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si 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 přes WadCfg

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

  1. Vyhledejte konfiguraci WAD v šabloně clusteru .WadCfg Přidáte čítače výkonu, které se mají shromažďovat pod položkou DiagnosticMonitorConfiguration.

  2. Nastavte konfiguraci tak, aby shromažďovat čítače výkonu přidáním následující části do vašeho DiagnosticMonitorConfigurationsouboru .

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

    Definuje scheduledTransferPeriod , jak často se hodnoty shromažďovaných čítačů přenesou do tabulky úložiště Azure a do libovolné nakonfigurované jímky.

  3. Přidejte čítače výkonu, které chcete shromáždit, do PerformanceCounterConfiguration deklarovaného v předchozím kroku. Každý čítač, který chcete shromáždit, je definován pomocí counterSpecifier, sampleRate, unit, annotationa všech 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í metody Service Fabric actor za sekundu, jeden z vlastních čítačů výkonu Service Fabric. Úplný seznam vlastních čítačů výkonu Service Fabric najdete v čítačích výkonu spolehlivého objektu actor a čítačů výkonu Reliable Service.

"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í rychlost pro čítač lze upravit podle vašich potřeb. Formát je PT<time><unit>, takže pokud chcete, aby se čítač shromáždil každou sekundu, pak byste měli nastavit "sampleRate": "PT15S".

Pomocí proměnných v šabloně ARM můžete také shromáždit pole čítačů výkonu, které můžou být užitečné při shromažďování čítačů výkonu pro jednotlivé procesy. V následujícím příkladu shromažďujeme čas procesoru a čas uvolňování paměti pro jednotlivé procesy a pak dva čí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. Po přidání odpovídajících čítačů výkonu, které je potřeba shromáždit, je potřeba upgradovat prostředek clusteru, aby se tyto změny projevily ve spuštěném clusteru. Uložte upravené template.json a otevřete PowerShell. 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 jste 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á 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 posílat je do tabulky 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 Manageru.

Další kroky