Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Microsoftnál a Nyílt szabványokat az Azure Monitor Workspacesben (AMW) tárolt OpenTelemetria-metrikák bevezetésén és támogatásán keresztül fogadjuk el, a Prometheus Query Language (PromQl) használatával pedig az alapszintű metrikák lekérdezési nyelvét az összes AMW-metrikában.
A cikk elolvasása előtt javasoljuk, hogy a felhasználók először is megértsék a gazdagép operációs rendszere és a vendég operációs rendszer teljesítményszámlálói közötti különbséget a virtuális gépeken.
Ez a cikk azokról a vendég operációs rendszer teljesítményszámlálókról szól, amelyeket a felhasználóknak kifejezetten engedélyezniük kell az adatgyűjtéshez az Azure Monitor ügynökkel DCR használatával, a DCR-rel rendelkező VM Insights-szal vagy az OTel instrumentációs könyvtárak részeként az OTelCollectorral gyűjtve. A felhasználók számára ajánlott az összes metrikát a metrikákra optimalizált Azure Monitor-munkaterületen tárolni, ahol olcsóbban és gyorsabban kérdezhetők le, mint a Log Analytics-munkaterületeken.
Ez a cikk a következő információkat nyújtja a felhasználóknak:
- Teljesítményszámlálók áttekintése
- Az OpenTelemetry rendszermetrikáinak használatának előnyei
- Az Azure Monitor-munkaterület metrikákhoz való használatának előnyei
- OpenTelemetria elnevezési konvenciók összehasonlítása a hagyományos teljesítményszámlálókkal
- Erőforrásattribútumok
Az OpenTelemetry vendég operációsrendszer-teljesítményszámlálói jelenleg nyilvános előzetes verzióban érhetők el.
Teljesítményszámlálók
Mind a Windows, mind a Linux operációsrendszer-szintű metrikákat biztosít a felhasználók számára a processzorhasználattal, a memóriahasználattal, a lemez I/O-jával, a hálózatkezeléssel és egyebekkel kapcsolatban a teljesítményproblémák diagnosztizálásához. A windowsos Teljesítményfigyelő (perfmon) vagy a Linux perf parancsával egyszerűen láthat példát a helyi gépen.
A rendelkezésre álló operációsrendszer-teljesítményszámlálók teljes száma dinamikus, a Windows alapértelmezés szerint ~1846 operációsrendszer-teljesítményszámlálót biztosít, és a helyi számítógépen elérhető hardverek, szoftverek és nyomkövetési pontok eseményei alapján több további elérhető.
Az OpenTelemetry Metrics egy részhalmazát rendszermetrikának nevezzük. A rendszermetrikák lényegében a teljesítményszámlálók másik neve; nyílt forráskódú szabvány van arra a teljesítményszámlálók konzisztens elnevezésére és formázására, és nem ad hozzá nettó új operációsrendszer-teljesítményszámlálókat.
Az OpenTelemetria előnyei
Operációs rendszerek közötti megfigyelhetőség Az OpenTelemetry szemantikai konvenciója a rendszermetrikák számára leegyszerűsíti az operációs rendszerek közötti végfelhasználói élményt úgy, hogy a Windows és Linux teljesítményszámlálókat egy konzisztens elnevezési konvencióra és metrikaadat-modellre egyesíti. Így a felhasználók egyszerűbben kezelhetik a virtuális gépeiket/ csomópontjaikat a flottájukban egyetlen lekérdezéskészlettel, amelyet Windows vagy Linux operációsrendszer-rendszerképekhez használnak. Az azonos PromQl-lekérdezéseket használó konfigurációs kód (ARM/Bicep-sablonok, Terraform stb.) bármely olyan üzemeltetési erőforráshoz használható, amely OpenTelemetriarendszer-metrikákat vezet be.
További teljesítményszámlálók Az OpenTelemetry Collector gazdagépmetrikák fogadója sokkal több teljesítményszámlálót gyűjt, mint amennyit az Azure Monitor jelenleg a DCR-en keresztül tesz elérhetővé a Log Analytics-munkaterülettel célként. A felhasználók például mostantól figyelhetik a folyamatonkénti processzorkihasználtságot, a lemez I/O-ját, a memóriahasználatot és egyebeket.
Kevesebb teljesítményszámláló Számos esetben a meglévő teljesítményszámlálók egyszerűsödtek egyetlen OTel-rendszermetriká, metrikaméretekkel (Resource Attributes) egyszerűsítve a felhasználói élményt.
A különböző állapotok processzorideje például a következő három teljesítményszámlálóként jeleníthető meg a Windowsban:
- \Processzoradatok(_Total)% processzoridő
- \Processzoradatok (_Total)% jogosultsági idő
- \Processor Information(_Total)% Felhasználói idő vagy a következő hét teljesítményszámláló Linuxban:
- Processzor/felhasználói_használat
- CPU/rendszerhasználat
- Processzor/usage_idle
- Processzor/használat_aktív
- Processzor/usage_nice
- Processzor/usage_iowait
- Processzor/usage_irq
Az OpenTelemetria esetében ezek a számlálók egyetlen teljesítményszámlálóvá válnak: system.cpu.time, és az egyes állapotokban (például felhasználó, rendszer, tétlen) töltött idő mostantól egyszerűen a dimenzióállapotra való szűréssel érhető el.
Az Azure Monitor-munkaterület előnyei
Az Azure Monitor-munkaterületeken tárolt metrikák olcsóbbak és gyorsabbak, mint a Log Analytics-munkaterületeken tárolt metrikák, mivel ezek a különböző adattárak különböző adatmodellek.
Az általános előnyök mellett a felhasználók már nem tapasztalnak eltéréseket a Perf és az Insights táblák közötti sémákban. Az AMW-nek küldött VM Insights (v2) az OpenTelemetry rendszer metrikáinak egy részét használja, amelyet elérhetővé teszünk a felhasználók számára, zökkenőmentes kompatibilitást biztosítva a felhasználói kohorszok között. A VM Insights és a nem VM Insights vendég operációs rendszer teljesítményszámlálóját használó alkalmazáscsapatokkal rendelkező nagyvállalatok ugyanazokat a PromQl-lekérdezéseket, irányítópultokat és riasztásokat használhatják ugyanazon OTel-metrikákhoz.
Teljesítményszámláló nevei
A windowsos és Linux rendszerű virtuális gépekhez készült Azure Monitor-ügynök a következő teljesítményszámlálókat gyűjti össze. Az alapértelmezett mintavételezési gyakoriság 60 másodperc, de ez a gyakoriság az adatgyűjtési szabály létrehozásakor vagy frissítésekor módosítható.
| OTel teljesítményszámláló | Típus | Unit | Aggregation | Monoton | Dimenziók | Description |
|---|---|---|---|---|---|---|
| rendszer.cpu.kihasználtság | Kijelző | 1 | N/A | FALSE |
cpu: Logikai CPU-szám 0-tól kezdve (értékek: Bármely Str) állapot: A CPU-használat típus szerinti lebontása (értékek: tétlenség, megszakítás, szép, softirq, lopás, rendszer, felhasználó, várakozás) |
A system.cpu.time különbsége a logikai cpu-nkénti utolsó mérés óta, osztva az eltelt idővel (0–1). |
| system.cpu.time | Összeg | s | Kumulatív | TRUE |
cpu: Logikai CPU-szám 0-tól kezdve (értékek: Bármely Str) állapot: A CPU-használat típus szerinti lebontása (értékek: tétlenség, megszakítás, szép, softirq, lopás, rendszer, felhasználó, várakozás) |
Az egyes logikai processzorok által egyes módban töltött teljes másodpercek. |
| rendszer.cpu.fizikai.szám | Összeg | {processzor} | Kumulatív | FALSE | (nincs) | Az elérhető fizikai CPU-k száma. |
| rendszer.cpu.logikai.szám | Összeg | {processzor} | Kumulatív | FALSE | cpu: Logikai CPU-szám 0-tól kezdve (értékek: Bármely Str) | Az elérhető logikai CPU-k száma. |
| system.cpu.átlagos_terhelés.5 perc | Kijelző | {thread} | N/A | FALSE | (nincs) | Átlagos cpu-terhelés 5 perc alatt. |
| system.cpu.átlagos_terhelés.1m | Kijelző | {thread} | N/A | FALSE | (nincs) | Átlagos cpu-terhelés 1 perc alatt. |
| system.cpu.load_average.15m | Kijelző | {thread} | N/A | FALSE | (nincs) | Átlagos cpu-terhelés 15 perc alatt. |
| system.cpu.frequency | Kijelző | Hz | N/A | FALSE | (nincs) | A processzormag aktuális gyakorisága Hz-ben. |
| process.uptime | Kijelző | s | N/A | FALSE | (nincs) | A folyamat futásának ideje. |
| folyamat.szálak | Összeg | {threads} | Kumulatív | FALSE | (nincs) | Folyamatszálak száma. |
| process.várakozó_jelek | Összeg | {signals} | Kumulatív | FALSE | (nincs) | A folyamat függőben lévő jeleinek száma (csak Linux esetén). |
| folyamat.lapozás.hibák | Összeg | hibák | Kumulatív | TRUE | Típus: A hiba típusa (értékek: fő, kisebb) | A folyamat által végrehajtott oldalhibák száma (csak Linux esetén). |
| process.open_file_descriptors | Összeg | {count} | Kumulatív | FALSE | (nincs) | A folyamat által használt fájlleírók száma. |
| folyamat.memória.virtuális | Összeg | Mellett | Kumulatív | FALSE | (nincs) | Virtuális memória mérete. |
| memóriafolyamat kihasználtság | Kijelző | 1 | N/A | FALSE | (nincs) | A folyamat által használt teljes fizikai memória százalékos aránya. |
| folyamat.memória.használat | Összeg | Mellett | Kumulatív | FALSE | (nincs) | A használatban lévő fizikai memória mennyisége. |
| system.disk.weighted_io_time | Összeg | s | Kumulatív | FALSE | eszköz: A lemez neve (értékek: Bármely Str) | A lemezen eltöltött aktív idő megszorozva a várakozási sor hosszával. |
| rendszer.lemez.függő_műveletek | Összeg | {műveletek} | Kumulatív | FALSE | eszköz: A lemez neve (értékek: Bármely Str) | Függőben lévő I/O-műveletek várólista-mérete. |
| rendszer.lemez.műveletek | Összeg | {műveletek} | Kumulatív | TRUE |
eszköz: A lemez neve (értékek: Bármely Str) irány: A folyamat iránya (értékek: olvasás, írás) |
Lemezműveletek száma. |
| rendszer.lemez.működési_idő | Összeg | s | Kumulatív | TRUE |
eszköz: A lemez neve (értékek: Bármely Str) irány: A folyamat iránya (értékek: olvasás, írás) |
Lemezműveletekkel töltött idő. |
| rendszer.lemez.összevont | Összeg | {műveletek} | Kumulatív | TRUE |
eszköz: A lemez neve (értékek: Bármely Str) irány: A folyamat iránya (értékek: olvasás, írás) |
A lemez olvasási/írási műveletei egyetlen fizikai műveletbe egyesítve. |
| system.disk.io_time | Összeg | s | Kumulatív | TRUE | eszköz: A lemez neve (értékek: Bármely Str) | Az aktivált lemezen töltött idő. |
| system.disk.io | Összeg | Mellett | Kumulatív | TRUE |
eszköz: A lemez neve (értékek: Bármely Str) irány: A folyamat iránya (értékek: olvasás, írás) |
Átvitt lemezbájtok. |
| process.handles | Összeg | {count} | Kumulatív | FALSE | (nincs) | Nyitott fogantyúk száma (csak Windows esetén). |
| folyamat.lemez.műveletek | Összeg | {műveletek} | Kumulatív | TRUE | irány: A folyamat iránya (értékek: olvasás, írás) | A folyamat által végrehajtott lemezműveletek. |
| process.disk.io | Összeg | Mellett | Kumulatív | TRUE | irány: A folyamat iránya (értékek: olvasás, írás) | Átvitt lemezbájtok. |
| folyamat.cpu.kihasználtság | Kijelző | 1 | N/A | FALSE | állapot: A processzorhasználat lebontása (értékek: rendszer, felhasználó, várakozás) | A folyamat által az utolsó adatgyűjtés óta felhasznált teljes CPU-idő százaléka (0–1). |
| process.cpu.time | Összeg | s | Kumulatív | TRUE | állapot: A processzorhasználat lebontása (értékek: rendszer, felhasználó, várakozás) | A CPU használat összes másodperce lebontva állapotok szerint. |
| folyamat.környezetváltások | Összeg | {count} | Kumulatív | TRUE | típus: A környezetkapcsoló típusa (értékek: Bármely Str) | A folyamat kontekstválthatóságának száma (csak Linux alatt). |
| rendszer.memória.kihasználtság | Kijelző | 1 | N/A | FALSE | állapot: A memóriahasználat lebontása (értékek: pufferelt, gyorsítótárazott, inaktív, szabad, visszanyerhető lap, nem visszanyerhető lap, használt) | A használatban lévő memória bájtjainak százalékos aránya. |
| rendszer.memória.használat | Összeg | Mellett | Kumulatív | FALSE | állapot: A memóriahasználat lebontása (értékek: pufferelt, gyorsítótárazott, inaktív, szabad, visszanyerhető lap, nem visszanyerhető lap, használt) | Használatban lévő memória bájtok. |
| system.memory.oldalméret | Kijelző | Mellett | N/A | FALSE | (nincs) | A rendszer által konfigurált oldalméret. |
| rendszer.memória.korlát | Összeg | Mellett | Kumulatív | FALSE | (nincs) | Elérhető memória összes bájtja. |
| system.linux.memory.dirty (rendszer.linux.memória.koszos) | Összeg | Mellett | Kumulatív | FALSE | (nincs) | A piszkos memória mennyisége (/proc/meminfo). |
| rendszer.linux.memória.elérhető | Összeg | Mellett | Kumulatív | FALSE | (nincs) | A rendelkezésre álló memória becslése (csak Linux esetén). |
| rendszer.hálózat.csomagok | Összeg | {packets} | Kumulatív | TRUE |
eszköz: Hálózati adapter neve (értékek: Bármely Str) irány: A folyamat iránya (értékek: fogadás, továbbítás) |
Az átvitt csomagok száma. |
| system.network.io | Összeg | Mellett | Kumulatív | TRUE | (nincs) | Továbbított és fogadott bájtok. |
| rendszer.hálózat.hibák | Összeg | {errors} | Kumulatív | FALSE |
eszköz: Hálózati adapter neve (értékek: Bármely Str) irány: A folyamat iránya (értékek: fogadás, továbbítás) |
Az észlelt hibák száma. |
| rendszer.hálózat.elveszett | Összeg | {packets} | Kumulatív | TRUE |
eszköz: Hálózati adapter neve (értékek: Bármely Str) irány: A folyamat iránya (értékek: fogadás, továbbítás) |
Az eldobott csomagok száma. |
| system.network.conntrack.max | Összeg | {entries} | Kumulatív | FALSE | (nincs) | A conntrack táblázat bejegyzéseinek korlátja. |
| system.network.conntrack.count | Összeg | {entries} | Kumulatív | FALSE | (nincs) | A conntrack tábla bejegyzéseinek száma. |
| rendszer.hálózat.kapcsolatok | Összeg | {kapcsolatok} | Kumulatív | FALSE |
protokoll: Hálózati protokoll (értékek: tcp) state: Connection state (values: Any Str) |
Kapcsolatok száma. |
| system.uptime | Kijelző | s | N/A | FALSE | (nincs) | A rendszer futásának ideje. |
| rendszer.folyamatok.létrehozva | Összeg | {folyamatok} | Kumulatív | TRUE | (nincs) | Létrehozott folyamatok teljes száma. |
| system.processes.count | Összeg | {folyamatok} | Kumulatív | FALSE | állapot: Folyamat állapota (értékek: blokkolva, démon, leválasztott, tétlen, zárolt, árva, lapozás, futás, alvó, leállt, rendszer, ismeretlen, zombik) | Az egyes állapotokban lévő folyamatok teljes száma. |
| rendszer.lapozás.kihasználtság | Kijelző | 1 | N/A | FALSE |
eszköz: Lapfájl neve (értékek: Bármely Str) állapot: Lapozási használat típusa (értékek: gyorsítótárazott, ingyenes, használt) |
Swap (Unix) vagy pagefile (Windows) használat. |
| rendszer.lapozás.használat | Összeg | Mellett | Kumulatív | FALSE |
eszköz: Lapfájl neve (értékek: Bármely Str) állapot: Lapozási használat típusa (értékek: gyorsítótárazott, ingyenes, használt) |
Swap (Unix) vagy pagefile (Windows) használat. |
| rendszer.lapozás.műveletek | Összeg | {műveletek} | Kumulatív | TRUE |
irány: Oldalfolyam (értékek: page_in, page_out) típus: Hibatípus (értékek: fő, kisebb) |
Lapozási műveletek |
| rendszer.oldalazási.hibák | Összeg | hibák | (nincs) | TRUE | típus: Hibatípus (értékek: fő, kisebb) | Oldalhibák száma. |
| rendszer.fájlrendszer.kihasználtság | Kijelző | 1 | N/A | FALSE |
eszköz: Fájlrendszer azonosítója mód: Csatlakoztatási mód (értékek: ro, rw) mountpoint: Elérési út típus: Fájlrendszer típusa (értékek: ext4, tmpfs stb.) |
A használt fájlrendszer bájtjainak töredéke. |
| system.filesystem.usage | Összeg | Mellett | Kumulatív | FALSE |
eszköz: Fájlrendszer azonosítója mód: Csatlakoztatási mód mountpoint: Elérési út Típus: Fájlrendszer típusa state: Usage type (értékek: ingyenes, fenntartott, használt) |
Használt fájlrendszer bájtok. |
| system.filesystem.inodes.usage | Összeg | {inodes} | Kumulatív | FALSE |
eszköz: Fájlrendszer azonosítója mód: Csatlakoztatási mód mountpoint: Elérési út Típus: Fájlrendszer típusa state: Usage type (értékek: ingyenes, fenntartott, használt) |
Használt fájlrendszer-inódok. |
Jótanács
Nyugodtan ossza meg visszajelzését az új teljesítményszámlálókkal vagy funkciókkal kapcsolatban, amelyeket látni szeretne a GitHub-közösségünkben vagy a Portál visszajelzésén keresztül.
Erőforrásattribútumok
Az OpenTelemetry Resource szemantikai konvenciója még fejlesztés alatt áll. Aktívan együttműködünk az OSS-közösséggel ennek az elnevezési konvenciónak a javítása és szabványosítása érdekében számos különböző forgatókönyv esetében – kérjük, ossza meg visszajelzését, hogy folyamatosan fejlesszük a felhasználói élményt.
Általánosságban elmondható, hogy az Azure Monitor Agent + Adatgyűjtési szabályok segítségével gyűjtött és az Azure Monitor-munkaterületekre küldött OpenTelemetry-metrikák dimenzióként automatikusan hozzáadva a következő felhőbeli erőforrás-attribútumokat az erőforrás-hatókörű lekérdezések támogatásához:
- Microsoft.resourceid
- Microsoft.subscriptionid
- Microsoft.resourcegroupname
- Microsoft.resourcetype
- Microsoft.amwresourceid
Az OpenTelemetria folyamatonkénti metrikái saját, speciális erőforrásattribútum-készlettel rendelkeznek. A táblázatban azok az erőforrásattribútumok láthatók, amelyeket az Azure Monitor-ügynök automatikusan előléptet dimenzióként.
| Név | Description | Értékek | Enabled |
|---|---|---|---|
| folyamat.parancs | A folyamat elindításához használt parancs (azaz a parancs neve). Linux-alapú rendszereken beállítható a nulladik karakterlánc a proc/[pid]/cmdline-ban. Windows rendszeren az első paraméterre lehet beállítani, amit a GetCommandLineW-ből nyerünk ki. |
Bármely Str | true |
| process.executable.name | A végrehajtható folyamat neve. Linux-alapú rendszereken beállítható a következő értékre: Nameproc/[pid]/status. Windows rendszeren beállítható az GetProcessImageFileNameW alapnévre. |
Bármely Str | true |
| folyamatgazda | A folyamatot birtokbavevő felhasználó felhasználóneve. | Bármely Str | true |
| process.pid | Folyamatazonosító (PID). | Bármely int | true |
| process.cgroup | a folyamathoz társított cgroup (csak Linux esetén). | Bármely Str | false |
| process.command_line | A folyamat elindításához használt teljes parancs egyetlen sztring formájában, ami a teljes parancsot jelenti. Windows rendszeren a következő eredményre GetCommandLineWállítható be: . Ne állítsa be ezt, ha csak monitorozásra kell összeállítani; helyette process.command_args-t használjon. |
Bármely Str | false |
| process.executable.path | A végrehajtható folyamat teljes elérési útja. Linux-alapú rendszereken beállítható a cél proc/[pid]/exe. Windows rendszeren a következő eredményre GetProcessImageFileNameWállítható be: . |
Bármely Str | false |
| process.parent_pid | Szülőfolyamat-azonosító (PPID). | Bármely int | false |
A process.command_line attribútum rendkívül hosszú, több ezer karakterből álló sztringeket tartalmazhat, így nem megfelelő normál metrikadimenzióként. Előfordulhat, hogy a termékcsapatnak küldött visszajelzésként küldött ügyfélfelhasználói forgatókönyvek alapján másképpen tudjuk felszínre juttatni ezt az attribútumot.
Következő lépések
Egyéni metrikák használata különböző szolgáltatásokból: