Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
På Microsoft använder vi öppna standarder genom implementering och stöd för OpenTelemetry-mått som lagras i Azure Monitor Workspaces (AMW), med Prometheus Query Language (PromQl) vårt grundläggande måttfrågespråk för alla AMW-mått.
Innan du läser den här artikeln rekommenderar vi att användarna först förstår skillnaden mellan prestandaräknare för värdoperativsystem och gästoperativsystem på virtuella datorer.
Den här artikeln handlar om prestandaräknare för gästoperativsystem som användarna måste välja att samla in, antingen via Azure Monitor Agent med DCR, VM Insights med DCR eller användarinsamlade med OTelCollector som en del av OTel-instrumentationsbibliotek. Användare rekommenderas att lagra alla mått i den måttoptimerade Azure Monitor-arbetsytan, där de är billigare och snabbare att fråga än i Log Analytics-arbetsytor.
Den här artikeln ger användarna följande information:
- Översikt över prestandaräknare
- Fördelar med att använda OpenTelemetry-systemmått
- Fördelar med att använda Azure Monitor-arbetsyta för mått
- Jämförelse av OpenTelemetry-namngivningskonvention med traditionella prestandaräknare
- Resursattribut
OpenTelemetry Gästoperativsystems prestandaräknare är för närvarande i offentlig förhandsversion.
Prestandaräknare
Både Windows och Linux ger användarna mått på OPERATIVSYSTEM-nivå som rör CPU-användning, minnesförbrukning, disk-I/O, nätverk med mera för att diagnostisera prestandaproblem. Du kan enkelt se ett exempel på din lokala dator just nu med hjälp av Prestandaövervakaren (perfmon) i Windows eller med hjälp av perf-kommandot på Linux.
Det totala antalet tillgängliga os-prestandaräknare är dynamiskt, med Windows som tillhandahåller ~1846 OS-prestandaräknare som standard och flera fler tillgängliga baserat på den lokala datorns tillgängliga maskinvara, programvara och spårningspunktshändelser.
En delmängd av OpenTelemetry Metrics kallas systemmått. Systemmått är i stort sett ett annat namn för prestandaräknare. De är en standard med öppen källkod för konsekvent namngivning och formatering av prestandaräknare och lägger inte till några nya prestandaräknare för operativsystemet.
Fördelar med OpenTelemetry
Observerbarhet mellan operativsystem OpenTelemetry-semantikkonventionen för systemmått effektiviserar användarupplevelsen mellan operativsystem genom att konvergera Prestandaräknare för Windows och Linux till en konsekvent namngivningskonvention och måttdatamodell. Detta gör det enklare för användare att hantera sina virtuella datorer/noder i sin flotta med en enda uppsättning frågor som används för antingen Windows- eller Linux OS-avbildningar. Samma konfiguration som kod (ARM/Bicep-mallar, Terraform osv.) med samma PromQl-frågor kan användas för alla värdresurser som använder OpenTelemetry-systemmått.
Fler prestandaräknare OpenTelemetry Collector Host Metrics Receiver samlar in många fler prestandaräknare än vad Azure Monitor för närvarande gör tillgängliga för insamling via DCR med Log Analytics-arbetsytan som mål. Till exempel kan användarna nu övervaka processoranvändning per process, disk-I/O, minnesanvändning med mera.
Färre prestandaräknare I många scenarier har befintliga prestandaräknare förenklats till ett enda OTel-systemmått med måttdimensioner (resursattribut) som förenklar användarupplevelsen.
Processortiden i olika tillstånd kan till exempel visas som följande tre prestandaräknare i Windows:
- \Processorinformation(_Total )% processortid
- \Processorinformation(_Total)% privilegierad tid
- \Processorinformation (_Total)% användartid eller som följande sju prestandaräknare i Linux:
- Cpu/användning_användare
- CPU/användning_system
- Cpu/usage_idle
- Cpu/användning_aktiv
- Cpu/usage_nice
- Cpu/usage_iowait
- Cpu/användning_irq
I OpenTelemetry blir alla dessa räknare en enda prestandaräknare: system.cpu.time och den tid som spenderas i varje tillstånd (till exempel användare, system, inaktiv) kan nu hittas genom att helt enkelt filtrera på dimensionstillståndet.
Fördelar med Azure Monitor-arbetsyta
Mått som lagras i Azure Monitor-arbetsytor är billigare och snabbare att köra frågor mot än när de lagras i Log Analytics-arbetsytor, på grund av att de olika datamodellerna stöder dessa olika datalager.
Utöver dessa allmänna fördelar upplever användarna inte längre mismatchar i scheman mellan tabellerna Perf och Insights. VM Insights (v2) som skickas till AMW använder en delmängd av OpenTelemetry-systemmåtten som vi gör tillgängliga för användare, vilket ger sömlös kompatibilitet mellan användarkohorter. Stora företag med programteam som använder en blandning av VM Insights och icke-VM Insights Prestandaräknare för gästoperativsystem kan använda samma PromQl-frågor, instrumentpaneler och aviseringar för samma OTel-mått.
Namn på prestandaräknare
Följande prestandaräknare samlas in av azure monitor-agenten för virtuella Windows- och Linux-datorer. Standardsamplingsfrekvensen är 60 sekunder, men den här frekvensen kan ändras när du skapar eller uppdaterar datainsamlingsregeln.
| OTel Prestandaindex | Typ | Enhet | Aggregation | Monoton | Mått | Description |
|---|---|---|---|---|---|---|
| system.cpu.användning | Mätare | 1 | N/A | FALSE |
cpu: Logiskt CPU-nummer som börjar på 0 (värden: Alla Str) tillstånd: Uppdelning av CPU-användning efter typ (värden: inaktiv, avbrott, trevlig, softirq, stjäla, system, användare, vänta) |
Skillnad i system.cpu.time sedan den senaste mätningen per logisk CPU, dividerat med den förflutna tiden (0–1). |
| system.cpu.time | Summa | s | Kumulativ | TRUE |
cpu: Logiskt CPU-nummer som börjar på 0 (värden: Alla Str) tillstånd: Uppdelning av CPU-användning efter typ (värden: inaktiv, avbrott, trevlig, softirq, stjäla, system, användare, vänta) |
Totalt antal sekunder varje logisk processor spenderade på varje läge. |
| system.cpu.physical.count | Summa | {cpu} | Kumulativ | FALSE | (ingen) | Antal tillgängliga fysiska processorer. |
| system.cpu.logical.count | Summa | {cpu} | Kumulativ | FALSE | cpu: Logiskt CPU-nummer som börjar på 0 (värden: Alla Str) | Antal tillgängliga logiska processorer. |
| system.cpu.load_average,5 m | Mätare | {tråd} | N/A | FALSE | (ingen) | Genomsnittlig CPU-belastning över 5 minuter. |
| system.cpu.medellast.1m | Mätare | {tråd} | N/A | FALSE | (ingen) | Genomsnittlig CPU-belastning över 1 minut. |
| system.cpu.load_average,15 m | Mätare | {tråd} | N/A | FALSE | (ingen) | Genomsnittlig CPU-belastning över 15 minuter. |
| system.cpu.frekvens | Mätare | Hz | N/A | FALSE | (ingen) | Aktuell frekvens för CPU-kärnan i Hz. |
| process.uptime | Mätare | s | N/A | FALSE | (ingen) | Hur länge processen har körts. |
| process.threads | Summa | {trådar} | Kumulativ | FALSE | (ingen) | Antal processtrådar. |
| process.signals_pending | Summa | {signaler} | Kumulativ | FALSE | (ingen) | Antal väntande signaler för processen (endast Linux). |
| process.paging.faults | Summa | {fel} | Kumulativ | TRUE | typ: Typ av fel (värden: större, mindre) | Antal sidfel som processen har gjort (endast Linux). |
| process.öppna_filbeskrivare | Summa | {count} | Kumulativ | FALSE | (ingen) | Antal filbeskrivningar som används av processen. |
| process.minne.virtuell | Summa | Vid | Kumulativ | FALSE | (ingen) | Storlek på virtuellt minne. |
| process.minne.användning | Mätare | 1 | N/A | FALSE | (ingen) | Procentandel av det totala fysiska minne som används av processen. |
| processen.minnesanvändning | Summa | Vid | Kumulativ | FALSE | (ingen) | Mängden fysiskt minne som används. |
| system.disk.weighted_io_time | Summa | s | Kumulativ | FALSE | enhet: Namnet på disken (värden: Alla Str) | Tidsperiod då disken var aktiv multiplicerad med kölängden. |
| system.disk.väntande_operationer | Summa | {operations} | Kumulativ | FALSE | enhet: Namnet på disken (värden: Alla Str) | Köstorlek för väntande I/O-åtgärder. |
| system.disk.operationer | Summa | {operations} | Kumulativ | TRUE |
enhet: Namnet på disken (värden: Alla Str) riktning: Flödesriktning (värden: läsa, skriva) |
Antal diskåtgärder. |
| system.disk.drifttid | Summa | s | Kumulativ | TRUE |
enhet: Namnet på disken (värden: Alla Str) riktning: Flödesriktning (värden: läsa, skriva) |
Tid som ägnas åt diskoperationer. |
| system.disk.merged | Summa | {operations} | Kumulativ | TRUE |
enhet: Namnet på disken (värden: Alla Str) riktning: Flödesriktning (värden: läsa, skriva) |
Diskläsningar/skrivningar sammanfogade i enskilda fysiska åtgärder. |
| system.disk.io_time | Summa | s | Kumulativ | TRUE | enhet: Namnet på disken (värden: Alla Str) | Tid som disken spenderat i aktiverat tillstånd. |
| system.disk.io | Summa | Vid | Kumulativ | TRUE |
enhet: Namnet på disken (värden: Alla Str) riktning: Flödesriktning (värden: läsa, skriva) |
Överförda diskbyte. |
| process.handles | Summa | {count} | Kumulativ | FALSE | (ingen) | Antal öppna handtag (endast Windows). |
| process.disk.operationer | Summa | {operations} | Kumulativ | TRUE | riktning: Flödesriktning (värden: läsa, skriva) | Diskåtgärder som utförs av processen. |
| process.disk.io | Summa | Vid | Kumulativ | TRUE | riktning: Flödesriktning (värden: läsa, skriva) | Överförda diskbyte. |
| processorn.cpu.användning | Mätare | 1 | N/A | FALSE | state: Uppdelning av CPU-användning (värden: system, användare, väntan) | Procentandel av den totala CPU-tid som använts av processen sedan senaste skrapningen (0–1). |
| processens CPU-tid | Summa | s | Kumulativ | TRUE | state: Uppdelning av CPU-användning (värden: system, användare, väntan) | Totalt antal CPU-sekunder uppdelade efter tillstånd. |
| process.context_switches | Summa | {count} | Kumulativ | TRUE | typ: Typ av kontextväxel (värden: Valfri Str) | Antalet gånger processen har kontextväxlats (endast Linux). |
| system.minnesanvändning | Mätare | 1 | N/A | FALSE | state: Uppdelning av minnesanvändning (värden: buffrad, cachelagrad, inaktiv, kostnadsfri, slab_reclaimable, slab_unreclaimable, används) | Procentandel minnesbyte som används. |
| systemets.minnes.användning | Summa | Vid | Kumulativ | FALSE | state: Uppdelning av minnesanvändning (värden: buffrad, cachelagrad, inaktiv, kostnadsfri, slab_reclaimable, slab_unreclaimable, används) | Byte av minne som används. |
| system.minne.sidstorlek | Mätare | Vid | N/A | FALSE | (ingen) | Systemets konfigurerade sidstorlek. |
| system.memory.gräns | Summa | Vid | Kumulativ | FALSE | (ingen) | Totalt antal byte minne tillgängligt. |
| system.linux.memory.dirty | Summa | Vid | Kumulativ | FALSE | (ingen) | Mängd smutsigt minne (/proc/meminfo). |
| system.linux.memory.available | Summa | Vid | Kumulativ | FALSE | (ingen) | Uppskattning av tillgängligt minne (endast Linux). |
| system.nätverkspaket | Summa | {paket} | Kumulativ | TRUE |
enhet: Nätverksgränssnittsnamn (värden: Alla Str) riktning: Flödesriktning (värden: ta emot, överföra) |
Antal överförda paket. |
| system.network.io | Summa | Vid | Kumulativ | TRUE | (ingen) | Byte som överförs och tas emot. |
| system.nätverk.fel | Summa | {errors} | Kumulativ | FALSE |
enhet: Nätverksgränssnittsnamn (värden: Alla Str) riktning: Flödesriktning (värden: ta emot, överföra) |
Antal fel som påträffas. |
| system.network.dropped | Summa | {paket} | Kumulativ | TRUE |
enhet: Nätverksgränssnittsnamn (värden: Alla Str) riktning: Flödesriktning (värden: ta emot, överföra) |
Antal borttagna paket. |
| system.network.conntrack.max | Summa | inlägg | Kumulativ | FALSE | (ingen) | Gräns för poster i conntrack-tabellen. |
| system.network.conntrack.count | Summa | inlägg | Kumulativ | FALSE | (ingen) | Antal poster i conntrack-tabellen. |
| system.nätverksanslutningar | Summa | {anslutningar} | Kumulativ | FALSE |
protokoll: Nätverksprotokoll (värden: tcp) state: Anslutningstillstånd (värden: Alla Str) |
Antal anslutningar. |
| systemets drifttid | Mätare | s | N/A | FALSE | (ingen) | Den tid som systemet har varit igång. |
| system.processes.created | Summa | {processer} | Kumulativ | TRUE | (ingen) | Totalt antal skapade processer. |
| system.processes.count | Summa | {processer} | Kumulativ | FALSE | status: Processstatus (värden: blockerad, daemon, fristående, inaktiv, låst, föräldralös, växling, körning, viloläge, stoppad, system, okänd, zombies) | Totalt antal processer i varje tillstånd. |
| system.paging.utilization - användning av systemindelning | Mätare | 1 | N/A | FALSE |
enhet: Sidfilnamn (värden: Alla Str) tillstånd: Växlingsanvändningstyp (värden: cachelagrade, kostnadsfria, använda) |
Växla (Unix) eller sidfilsanvändning (Windows). |
| system.paging.användning | Summa | Vid | Kumulativ | FALSE |
enhet: Sidfilnamn (värden: Alla Str) tillstånd: Växlingsanvändningstyp (värden: cachelagrade, kostnadsfria, använda) |
Användning av swapfil (Unix) eller sidfil (Windows). |
| system.paging.operations (systemets sidhanteringsoperationer) | Summa | {operations} | Kumulativ | TRUE |
riktning: Sidflöde (värden: page_in, page_out) typ: Feltyp (värden: större, mindre) |
Paging-operationer. |
| system.paging.fel | Summa | {fel} | (ingen) | TRUE | typ: Feltyp (värden: större, mindre) | Antal sidfel. |
| system.filsystem.användning | Mätare | 1 | N/A | FALSE |
enhet: Filsystemidentifierare läge: Monteringsläge (värden: ro, rw) monteringspunkt: Sökväg typ: Filsystemstyp (värden: ext4, tmpfs osv.) |
Del av filsystemsbyte som används. |
| systemat.filsystem.användning | Summa | Vid | Kumulativ | FALSE |
enhet: Filsystemidentifierare läge: Monteringsläge monteringspunkt: Sökväg typ: Filsystemstyp tillstånd: Användningstyp (värden: kostnadsfri, reserverad, använd) |
Filsystembyte som används. |
| system.filesystem.inodes.usage | Summa | {inodes} | Kumulativ | FALSE |
enhet: Filsystemidentifierare läge: Monteringsläge monteringspunkt: Sökväg typ: Filsystemstyp tillstånd: Användningstyp (värden: kostnadsfri, reserverad, använd) |
Inoder i filsystemet som används. |