Prestandaövervakning med Windows Azure Diagnostics-tillägget
Det här dokumentet beskriver de steg som krävs för att konfigurera en samling prestandaräknare via WAD-tillägget (Windows Azure Diagnostics) för Windows-kluster. För Linux-kluster konfigurerar du Log Analytics-agenten för att samla in prestandaräknare för dina noder.
Kommentar
WAD-tillägget bör distribueras i klustret för att de här stegen ska fungera åt dig. Om den inte har konfigurerats går du över till Händelseaggregering och samling med Hjälp av Windows Azure Diagnostics.
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Samla in prestandaräknare via WadCfg
Om du vill samla in prestandaräknare via WAD måste du ändra konfigurationen på rätt sätt i klustrets Resource Manager-mall. Följ de här stegen för att lägga till en prestandaräknare som du vill samla in i mallen och köra en Resource Manager-resursuppgradering.
Hitta WAD-konfigurationen i klustrets mall – hitta
WadCfg
. Du lägger till prestandaräknare att samla in underDiagnosticMonitorConfiguration
.Konfigurera konfigurationen för att samla in prestandaräknare genom att lägga till följande avsnitt i .
DiagnosticMonitorConfiguration
"PerformanceCounters": { "scheduledTransferPeriod": "PT1M", "PerformanceCounterConfiguration": [] }
Definierar
scheduledTransferPeriod
hur ofta värdena för de räknare som samlas in överförs till azure-lagringstabellen och till alla konfigurerade mottagare.Lägg till de prestandaräknare som du vill samla in till
PerformanceCounterConfiguration
som deklarerades i föregående steg. Varje räknare som du vill samla in definieras med ,counterSpecifier
sampleRate
,unit
,annotation
och alla relevantasinks
.
Här är ett exempel på en konfiguration med räknaren för total processortid (hur lång tid processorn användes för bearbetningsåtgärder) och Service Fabric Actor Method Invocations per sekund, en av service fabric-räknare för anpassade prestanda. Se Reliable Actor Performance Counters och Reliable Service Performance Counters för en fullständig lista över anpassade Prestandaräknare för Service Fabric.
"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",
}
]
}
}
},
Exempelfrekvensen för räknaren kan ändras enligt dina behov. Formatet är PT<time><unit>
, så om du vill att räknaren ska samlas in varje sekund bör du ange "sampleRate": "PT15S"
.
Du kan också använda variabler i ARM-mallen för att samla in en matris med prestandaräknare, vilket kan vara praktiskt när du samlar in prestandaräknare per process. I följande exempel samlar vi in processortid och skräpinsamlingstid per process och sedan två prestandaräknare på själva noderna med hjälp av variabler.
"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'))]"
},
....
När du har lagt till lämpliga prestandaräknare som måste samlas in måste du uppgradera klusterresursen så att dessa ändringar återspeglas i det kluster som körs. Spara din ändrade
template.json
och öppna PowerShell. Du kan uppgradera klustret med .New-AzResourceGroupDeployment
Anropet kräver namnet på resursgruppen, den uppdaterade mallfilen och parameterfilen och uppmanar Resource Manager att göra lämpliga ändringar i de resurser som du uppdaterade. När du har loggat in på ditt konto och har rätt prenumeration använder du följande kommando för att köra uppgraderingen:New-AzResourceGroupDeployment -ResourceGroupName <ResourceGroup> -TemplateFile <PathToTemplateFile> -TemplateParameterFile <PathToParametersFile> -Verbose
När uppgraderingen är klar (tar mellan 15 och 45 minuter beroende på om det är den första distributionen och storleken på resursgruppen) bör WAD samla in prestandaräknarna och skicka dem till tabellen med namnet WADPerformanceCountersTable i lagringskontot som är associerat med klustret. Se dina prestandaräknare i Application Insights genom att lägga till AI-mottagare i Resource Manager-mallen.
Nästa steg
- Samla in fler prestandaräknare för klustret. Se Prestandamått för en lista över räknare som du bör samla in.
- Använd övervakning och diagnostik med en virtuell Windows-dator och Azure Resource Manager-mallar för att göra ytterligare ändringar i dina
WadCfg
, inklusive att konfigurera fler lagringskonton för att skicka diagnostikdata till. - Besök WadCfg-byggaren för att skapa en mall från grunden och se till att syntaxen är korrekt för att skapa en mall från grunden och kontrollera att syntaxen är korrekt.