Samla in datakällor för Windows- och Linux-prestanda med Log Analytics-agenten

Prestandaräknare i Windows och Linux ger insikter om prestanda för maskinvarukomponenter, operativsystem och program. Azure Monitor kan samla in prestandaräknare från Log Analytics-agenter med jämna mellanrum för analys i nära realtid. Azure Monitor kan också aggregera prestandadata för långsiktig analys och rapportering.

Viktigt!

Den äldre Log Analytics-agentenkommer att vara inaktuell i augusti 2024. Efter det här datumet kommer Microsoft inte längre att tillhandahålla någon support för Log Analytics-agenten. Migrera till Azure Monitor-agenten före augusti 2024 för att fortsätta mata in data.

Screenshot that shows performance counters.

Konfigurera prestandaräknare

Konfigurera prestandaräknare från hanteringsmenyn för äldre agenter för Log Analytics-arbetsytan.

När du först konfigurerar Prestandaräknare för Windows eller Linux för en ny arbetsyta får du möjlighet att snabbt skapa flera vanliga räknare. De visas med en kryssruta bredvid var och en. Se till att alla räknare som du vill skapa först är markerade och välj sedan Lägg till de valda prestandaräknarna.

För Prestandaräknare för Windows kan du välja en specifik instans för varje prestandaräknare. För Linux-prestandaräknare gäller instansen av varje räknare som du väljer för alla underordnade räknare för den överordnade räknaren. I följande tabell visas de vanliga instanser som är tillgängliga för både Windows- och Linux-prestandaräknare.

Instansnamn Description
_Totalt Totalt antal instanser
* Alla instanser
(/|/var) Matchar instanser med namnet /eller /var

Windows-prestandaräknare

Screenshot that shows configuring Windows performance counters.

Följ den här proceduren för att lägga till en ny Windows-prestandaräknare att samla in. Prestandaräknare för V2 Windows stöds inte.

  1. Välj Lägg till prestandaräknare.

  2. Ange namnet på räknaren i textrutan i formatobjektet (instansen)\räknaren. När du börjar skriva visas en matchande lista med vanliga räknare. Du kan antingen välja en räknare i listan eller ange en egen. Du kan också returnera alla instanser för en viss räknare genom att ange objekt\räknare.

    När SQL Server-prestandaräknare samlas in från namngivna instanser börjar alla namngivna instansräknare med MSSQL$ följt av namnet på instansen. Om du till exempel vill samla in räknare för träffkvot för loggcache för alla databaser från databasprestandaobjektet för sql-instansen INST2 anger du MSSQL$INST2:Databases(*)\Log Cache Hit Ratio.

  3. När du lägger till en räknare använder den standardvärdet 10 sekunder för sitt exempelintervall. Ändra det här standardvärdet till ett högre värde på upp till 1 800 sekunder (30 minuter) om du vill minska lagringskraven för insamlade prestandadata.

  4. När du har lagt till räknare väljer du Använd överst på skärmen för att spara konfigurationen.

Linux-prestandaräknare

Screenshot that shows configuring Linux performance counters.

Följ den här proceduren för att lägga till en ny Linux-prestandaräknare att samla in.

  1. Välj Lägg till prestandaräknare.
  2. Ange namnet på räknaren i textrutan i formatobjektet (instansen)\räknaren. När du börjar skriva visas en matchande lista med vanliga räknare. Du kan antingen välja en räknare i listan eller ange en egen.
  3. Alla räknare för ett objekt använder samma exempelintervall. Standardvärdet är 10 sekunder. Ändra det här standardvärdet till ett högre värde på upp till 1 800 sekunder (30 minuter) om du vill minska lagringskraven för insamlade prestandadata.
  4. När du har lagt till räknare väljer du Använd överst på skärmen för att spara konfigurationen.

Konfigurera Linux-prestandaräknare i en konfigurationsfil

I stället för att konfigurera Linux-prestandaräknare med hjälp av Azure-portalen kan du redigera konfigurationsfiler på Linux-agenten. Prestandamått som ska samlas in styrs av konfigurationen i /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.conf.

Varje objekt, eller kategori, av prestandamått som ska samlas in bör definieras i konfigurationsfilen som ett enda <source> element. Syntaxen följer mönstret här:

<source>
    type oms_omi  
    object_name "Processor"
    instance_regex ".*"
    counter_name_regex ".*"
    interval 30s
</source>

Parametrarna i det här elementet beskrivs i följande tabell.

Parameters Description
object_name Objektnamn för samlingen.
instance_regex Ett reguljärt uttryck som definierar vilka instanser som ska samlas in. Värdet .* anger alla instanser. Om du bara vill samla in processormått för den _Total instansen kan du ange _Total. Om du bara vill samla in processmått för crond- eller sshd-instanserna kan du ange (crond\|sshd).
counter_name_regex Ett reguljärt uttryck som definierar vilka räknare (för objektet) som ska samlas in. Om du vill samla in alla räknare för objektet anger du .*. Om du bara vill samla in växlingsutrymmesräknare för minnesobjektet kan du till exempel ange .+Swap.+
interval Frekvens med vilken objektets räknare samlas in.

I följande tabell visas de objekt och räknare som du kan ange i konfigurationsfilen. Fler räknare är tillgängliga för vissa program. Mer information finns i Samla in prestandaräknare för Linux-program i Azure Monitor.

Object name Räknarens namn
Logisk disk % kostnadsfria innoder
Logisk disk % Ledigt utrymme
Logisk disk % använda innoder
Logisk disk % använt utrymme
Logisk disk Diskläsningsbyte/s
Logisk disk Diskläsningar/sek
Logisk disk Disköverföringar per sekund
Logisk disk Diskskrivningsbyte per sekund
Logisk disk Diskskrivningar/s
Logisk disk Kostnadsfria megabyte
Logisk disk Logiska diskbyte per sekund
Minne % tillgängligt minne
Minne % tillgängligt växlingsutrymme
Minne % använt minne
Minne % använt växlingsutrymme
Minne Tillgängligt MBytes-minne
Minne Tillgängligt byte för MBytes
Minne Sidläsningar/s
Minne Sidskrivningar/s
Minne Sidor/s
Minne Använt bytesutrymme för MBytes
Minne MByte för använt minne
Nätverk Totalt antal skickade byte
Nätverk Totalt antal mottagna byte
Nätverk Totalt antal byte
Nätverk Totalt antal överförda paket
Nätverk Totalt antal mottagna paket
Nätverk Totalt antal Rx-fel
Nätverk Totalt antal Tx-fel
Nätverk Totalt antal kollisioner
Fysisk disk Genomsnittlig disk sek/läs
Fysisk disk Genomsnittlig disk sek/överföring
Fysisk disk Genomsnittlig disk sek/skrivning
Fysisk disk Fysiska diskbyte/s
Bearbeta Pct Privileged Time
Bearbeta Pct-användartid
Bearbeta Använt minne i kByte
Bearbeta Virtuellt delat minne
Processor % DPC-tid
Processor Inaktivitetstid i procent
Processor % avbrottstid
Processor % I/O-väntetid
Processor % trevlig tid
Processor Privilegierad tid i procent
Processor % processortid
Processor % användartid
System Ledigt fysiskt minne
System Ledigt utrymme i växlingsfiler
System Ledigt virtuellt minne
System Processer
System Storlek som lagras i växlingsfiler
System Drifttid
System Användare

Följande konfiguration är standard för prestandamått:

<source>
    type oms_omi
	object_name "Physical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
	type oms_omi
	object_name "Logical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
    type oms_omi
	object_name "Processor"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

<source>
	type oms_omi
	object_name "Memory"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

Datainsamling

Azure Monitor samlar in alla angivna prestandaräknare med sitt angivna exempelintervall på alla agenter som har räknaren installerad. Data aggregeras inte. Rådata är tillgängliga i alla loggfrågevyer under den tid som anges av Log Analytics-arbetsytan.

Egenskaper för prestandaposter

Prestandaposter har en typ av Perf och har egenskaperna listade i följande tabell.

Property Beskrivning
Dator Dator som händelsen samlades in från.
CounterName Namn på prestandaräknaren.
CounterPath Fullständig sökväg för räknaren i formatet \\<Computer>\object(instance)\counter.
CounterValue Numeriskt värde för räknaren.
InstanceName Namn på händelseinstansen. Tom om det inte finns någon instans.
ObjectName Namn på prestandaobjektet.
SourceSystem Typ av agent som data samlades in från:

OpsManager – Windows-agent, antingen direktanslutning eller SCOM
Linux – alla Linux-agenter
AzureStorage – Azure Diagnostics
TimeGenerated Datum och tid då data samplades.

Storleksberäkningar

En grov uppskattning för insamling av en viss räknare med 10 sekunders intervall är cirka 1 MB per dag per instans. Du kan beräkna lagringskraven för en viss räknare med följande formel:

1 MB x (antal räknare) x (antal agenter) x (antal instanser)

Logga frågor med prestandaposter

Följande tabell innehåller olika exempel på loggfrågor som hämtar prestandaposter.

Query Description
Perf Alla prestandadata
Perf | where Computer == "MyComputer" Alla prestandadata från en viss dator
Perf | where CounterName == "Current Disk Queue Length" Alla prestandadata för en viss räknare
Perf | where ObjectName == "Processor" och CounterName == "% Processor Time" och InstanceName == "_Total" | summarize AVGCPU = avg(CounterValue) by Computer Genomsnittlig CPU-användning på alla datorer
Perf | where CounterName == "% Processor Time" | summarize AggregatedValue = max(CounterValue) efter dator Maximal cpu-användning på alla datorer
Perf | where ObjectName == "LogicalDisk" och CounterName == "Current Disk Queue Length" och Computer == "MyComputerName" | summarize AggregatedValue = avg(CounterValue) efter InstanceName Genomsnittlig aktuell diskkölängd för alla instanser av en viss dator
Perf | where CounterName == "Disk Transfers/sec" | summarize AggregatedValue = percentil(CounterValue, 95) efter dator 95:e percentilen av disköverföringar per sekund på alla datorer
Perf | where CounterName == "% Processor Time" och InstanceName == "_Total" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 1h), Computer Genomsnittlig processoranvändning per timme på alla datorer
Perf | where Computer == "MyComputer" och CounterName startswith_cs "%" och InstanceName == "_Total" | summarize AggregatedValue = percentile(CounterValue, 70) by bin(TimeGenerated, 1h), CounterName 70:e percentilen per timme av varje procenträknare för en viss dator
Perf | where CounterName == "% Processor Time" och InstanceName == "_Total" och Computer == "MyComputer" | summarize ["min(CounterValue)"] = min(CounterValue), ["avg(CounterValue)"] = avg(CounterValue), ["percentile75(CounterValue)"] = percentile(CounterValue, 75), ["max(CounterValue)"] = max(CounterValue) by bin(TimeGenerated, 1h), Computer Timgenomsnitt, minsta, högsta och 75-percentil cpu-användning för en viss dator
Perf | where ObjectName == "MSSQL$INST2:Databases" och InstanceName == "master" Alla prestandadata från databasprestandaobjektet för huvuddatabasen från den namngivna SQL Server-instansen INST2

Nästa steg