APM: mi ez, metrikák és hogyan működik

Szerző: IT Sectr Megjelenés: 2026-05-29 Olvasási idő: 8 perc

APM (Application Performance Monitoring) — egy komplex megközelítés a szoftverteljesítmény megfigyelésére, amely magában foglalja a metrikák gyűjtését, a kérések nyomon követését és a hibák valós idejű diagnosztizálását. A Gartner IT Glossary, 2024 adatai szerint az APM három kulcsfontosságú irányt egyesít: a felhasználói élmény monitorozását, a hibák észlelését az alkalmazásarchitektúrában és a végrehajtási adatok elemzését az események mélyreható diagnosztizálásához.

Főbb pontok

  • APM — Application Performance Monitoring, az alkalmazások teljesítményének megfigyelőrendszere minden szinten: kliens, hálózat, szerver, infrastruktúra.
  • Az APM három pillére — metrikák, nyomkövetés és naplók, egyetlen megfigyelhetőségi platformba egyesítve az események átfogó elemzéséhez.
  • Agent-based APM — szoftverügynök telepítése az alkalmazásszerverre a részletes végrehajtási időadatok gyűjtéséhez.
  • Service map — a mikroszolgáltatások közötti függőségek gráfja, amely automatikusan épül a nyomkövetési adatok alapján.
  • Apdex score — a felhasználó elégedettségének szabványosított mutatója az alkalmazás válaszidejével.

Mi az APM a fejlesztésben

APM (Application Performance Monitoring) — az alkalmazások teljesítménymenedzsmentjének tudományága, amely magában foglalja a szoftver működésére vonatkozó adatok gyűjtését, vizualizálását és elemzését. Az egyes metrikák (CPU, memória) pontszerű monitorozásával ellentétben az APM holisztikus képet nyújt: hogyan viselkedik az alkalmazás a felhasználó szempontjából, hogyan lépnek kölcsönhatásba az összetevői, és hol alakulnak ki szűk keresztmetszetek.

Az APM koncepciója a 2010-es években alakult ki a monolitikus alkalmazásokról a mikroszolgáltatási architektúrára való áttéréssel. Amikor a szolgáltatások száma meghaladta a 10–15 egységet, a hagyományos monitorozási módszerek működésképtelenné váltak — lehetetlen volt meghatározni, melyik szolgáltatás okozta a teljes kérés lelassulását. Az APM-megoldások ezt a problémát az elosztott nyomkövetés és a szolgáltatástérkép automatikus felépítése révén oldották meg.

A Grand View Research (2024) adatai szerint az APM-piacot 8,2 milliárd amerikai dollárra becsülik, és évente 11,5%-kal növekszik. Fő mozgatórugók — a felhőbe való migráció, a mikroszolgáltatások számának növekedése és a felhasználói élmény minőségére vonatkozó követelmények növekedése a mobilalkalmazásokban és webszolgáltatásokban.

Az APM három pillére: metrikák, nyomkövetés, naplók

A modern APM három adattípusra épül, amelyek együtt az alkalmazás állapotának teljes képét alkotják. Metrikák — numerikus aggregátumok: válaszidő, kérések száma, hibák százalékaránya. A \u201emi történik\u201d kérdésre válaszolnak, és lehetővé teszik a riasztások beállítását küszöbértékek alapján.

A nyomkövetés mint összekötő kapocs

Nyomkövetés (elosztott nyomkövetés) a \u201emiért történik ez\u201d kérdésre válaszol. Minden bejövő kérést nyomon követ az összes mikroszolgáltatáson, adatbázison és külső híváson keresztül. Az APM-rendszer összekapcsolja a metrikákat és a nyomkövetést: ha a válaszidő-metrika nőtt, a fejlesztő átlép a nyomkövetési irányítópultra, és látja a lassulást okozó pontos kérést, szolgáltatásonkénti bontásban.

Naplózás a mélységért

Naplók kontextust biztosítanak — a konkrét hibaüzenetet, a változó értékét, a hívási vermet. A modern APM-platformok (Datadog, New Relic, Grafana) a naplókat a nyomkövetésekkel közös trace_id-n keresztül kapcsolják össze, lehetővé téve a metrikagrafikáról egy adott kérés naplójára való átlépést. A Datadog (2025) adatai szerint a naplók és nyomkövetések korrelációja az eseménydiagnosztika átlagos idejét 45 percről 12 percre csökkenti.

JelKérdésEgység
MetrikákMi történik?Numerikus aggregátumok
NyomkövetésMiért történik ez?Span-ek és nyomok
NaplókMi ment pontosan rosszul?Szöveges feljegyzések

APM-architektúra: ügynökök és gyűjtők

A klasszikus APM-architektúra három szintből áll: ügynök, gyűjtő és backend. Ügynök — egy könyvtár, amely az alkalmazásba van ágyazva vagy mellette fut (sidecar). Az ügynök elfogja a bejövő és kimenő hívásokat, összegyűjti a végrehajtási időre vonatkozó adatokat, és biztonságos csatornán keresztül elküldi a gyűjtőnek.

Az APM-ügynök működése

A Java APM-ügynök javaagent-en keresztül csatlakozhat JVM-szinten, automatikusan instrumentálva az összes HTTP-kérést, adatbázishívást, üzenetsort és külső API-t. Mobil platformok esetén az ügynök SDK-ként csatlakozik, és metrikákat gyűjt az eszközről. New Relic Agent Androidhoz például automatikusan nyomon követi az összes hálózati kérést OkHttp-n, HTTP-klienseken és WebView-n keresztül.

java
import com.newrelic.agent.android.NewRelic;

public class MainApplication extends Application {
    public void onCreate() {
        super.onCreate();
        NewRelic.withApplicationToken("YOUR_TOKEN")
            .start(this);
    }
}

A kód inicializálja a New Relic Agent-et az Android-alkalmazásban. Az indítás után az ügynök automatikusan gyűjti a hálózati kérések metrikáit, hibákat, ANR-t és UI-teljesítményadatokat az egyes képernyők további instrumentálása nélkül. Az ügynök háttérszálon működik, és nem befolyásolja az alkalmazás fő felületének teljesítményét.

Gyűjtő és backend

A gyűjtő több ezer ügynöktől fogad adatokat, aggregálja a metrikákat, mintavételezi a nyomkövetéseket, és az adatokat hosszú távú tárolóban őrzi meleg és hideg tárolási lehetőséggel. Az APM backend irányítópultokat, riasztásokat, szolgáltatástérképeket és API-t biztosít külső rendszerekkel való integrációhoz (Slack, PagerDuty, Jira, ServiceNow). A Datadog több mint 10 millió adatpontot dolgoz fel másodpercenként a gyűjtőin keresztül, amelyek 20+ világrégióban helyezkednek el a minimális átviteli késleltetés érdekében.

Apdex score és SLA monitorozás

Apdex (Application Performance Index) — nyílt szabvány a felhasználók elégedettségének mérésére az alkalmazás válaszidejével. Az Apdex értéket a következő képlettel számítjuk: (elégedett felhasználók száma + tűrőképes felhasználók száma / 2) / összes felhasználó száma. Az eredmény egy 0 és 1 közötti szám, ahol az 1 azt jelenti, hogy minden felhasználó elégedett.

Az Apdex-küszöböket minden alkalmazásra egyedileg állítják be. Mobilalkalmazások esetében a tipikus elégedettségi küszöb — 1,5 másodpercig terjedő válaszidő, a tűrhető — 4,5 másodpercig. Minden, ami meghaladja a 4,5 másodpercet, elfogadhatatlannak minősül. Az Apdex score 0,94 és afelett kiváló mutatónak számít éles környezetben.

Az Apdex nemcsak minőségi metrikaként, hanem a riasztások küszöbértékeként is használatos. Ha az Apdex 10 percen belül 0,85 alá csökken, az APM-rendszer értesítést küld az ügyeletes csapatnak. Ez kiegyensúlyozottabb megközelítés, mint a válaszidő abszolút értékeihez való kötés, amelyek a napszaktól és a terheléstől függően ingadozhatnak.

APM mobilalkalmazásokhoz

A mobil APM-nek megvan a maga sajátossága: az alkalmazás a felhasználó eszközén fut, amely különböző hálózati körülmények között lehet, eltérő mennyiségű szabad memóriával és operációs rendszer verzióval rendelkezhet. Mobile APM mindezeket a tényezőket figyelembe kell vennie, és a metrikák bontását kell biztosítania eszköztípusok, operációs rendszer verziók, régiók és kommunikációs szolgáltatók szerint.

Adatgyűjtés az eszközről

A mobil APM-ügynökök az eszközön gyűjtik a metrikákat, és 1–5 perces időközönként kötegekben (batch) küldik el a szerverre. Ez minimalizálja a felhasználó forgalmára gyakorolt hatást. Kapcsolat megszakadása esetén az adatok a helyi gyorsítótárban tárolódnak, és a következő csatlakozáskor kerülnek elküldésre. Firebase Performance és Dynatrace Mobile támogatja az automatikus újraküldést hálózatvesztés esetén.

Kulcsfontosságú mobil metrikák

A szabványos APM-metrikákhoz a mobilfejlesztésben specifikusak is hozzáadódnak: a hidegindítás ideje, FPS görgetéskor, a felhasznált memória mennyisége, ANR gyakorisága (Android) és a watchdog-megszakítások száma (iOS). New Relic Mobile emellett nyomon követi a map views-t, a gyorsítótár-használat százalékát és az egyes ViewController-ek renderelési idejét.

swift
import NewRelic

class ProfileViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        NewRelic.startInteraction(withName: "ProfileView")
    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        NewRelic.stopCurrentInteraction()
    }
}

A Swift-kód interaction trace-t hoz létre a felhasználói profil képernyőhöz. A New Relic automatikusan megméri az adatok betöltési idejét, a UI renderelést és az összes, a képernyő megjelenítése során végrehajtott hálózati kérést.

Népszerű APM-platformok összehasonlítása

Az APM-piacot több tucatnyi megoldás képviseli, amelyek a monitorozás mélységében, költségében és a támogatott platformokban különböznek. Datadog APM vezet a metrikák, nyomkövetések és naplók egyetlen felületen történő integrációjában. New Relic a legrészletesebb nyomkövetést kínálja mobil platformokhoz. Dynatrace a Davis AI-motort használja a problémák kiváltó okainak automatikus felderítésére.

PlatformMobil ügynökDistributed tracingIngyenes tarifa
DatadogiOS, AndroidIgenNem
New ReliciOS, AndroidIgen100 GB/hó
DynatraceiOS, AndroidIgen15 nap
GrafanaOpenTelemetry-n keresztülIgenIgen (OSS)

Az APM-platform kiválasztása a csapat méretétől, a technológiai veremtől és a költségvetéstől függ. Startupok számára a Firebase Performance Grafanával kombinálva a backendhez optimális. Magas SLA-követelményekkel rendelkező enterprise projektekhez — Datadog vagy Dynatrace a megfigyelhetőségi eszközök teljes készletével és az események kiváltó okainak AI-elemzéséhez nyújtott támogatással.

Gyakran ismételt kérdések

Miben különbözik az APM a szokásos szervermonitorozástól?

A szokásos monitorozás infrastrukturális metrikákat követ nyomon: CPU, memória, lemez. APM az alkalmazás szintjére néz: konkrét tranzakciók végrehajtási ideje, SQL-lekérdezések, HTTP-hívások a mikroszolgáltatások között. Az APM megmutathatja, hogy a CPU normális, de az alkalmazás egy lassú adatbázis-lekérdezés miatt lelassul.

Szükséges az APM egyetlen mikroszolgáltatáshoz?

Egyetlen szolgáltatáshoz elegendő a szabványos monitorozás + naplózás az alapvető lefedettséghez. APM akkor válik szükségessé, ha a szolgáltatások száma 5 vagy több, és egy kérés egy felhasználói forgatókönyvben több szolgáltatáson halad keresztül. Az APM megadja a választ, hogy melyik szolgáltatás lassítja a teljes kérésfolyamatot, és hol van a szűk keresztmetszet.

Hogyan befolyásolja az APM az infrastruktúra költségeit?

Az APM-ügynökök 1–3% CPU-t és 50–200 MB memóriát fogyasztanak a szerveren. A licencek költsége havi 15 és 80 dollár között változik hosztonként. A telemetriai forgalom a nyomkövetés intenzitásától függően napi 1–10 GB hosztonként. OpenTelemetry + Grafana — ingyenes alternatíva a kereskedelmi APM-ekhez.

Használható-e az APM mobilalkalmazáshoz backend nélkül?

Igen, a mobil APM-ügynökök autonóm módon működnek. Metrikákat gyűjtenek az eszközön akkor is, ha az alkalmazásnak nincs szerveroldali része: indulási idő, FPS, összeomlások, hálózati kérések külső API-khoz. Az adatok akkor kerülnek elküldésre az APM-platformra, amikor az eszköz csatlakozik az internethez.

Milyen gyakran kell frissíteni az APM-konfigurációt?

Az alap APM-konfigurációt (küszöbértékek, irányítópultok, riasztások) egyszer kell beállítani, és az architektúra vagy a teljesítménytesztek változásakor módosítani. Az ügynökkonfiguráció automatikusan frissül az APM-platform kezelőpaneljén keresztül, anélkül hogy az alkalmazást újra kellene adni vagy a kódot módosítani kellene.

Összefoglalás

  • APM — átfogó megoldás az alkalmazások teljesítményének monitorozására, amely egyesíti a metrikákat, a nyomkövetést és a naplókat.
  • Distributed tracing — az APM fő különbsége a klasszikus monitorozástól, lehetővé téve a kérés útjának nyomon követését az összes mikroszolgáltatáson keresztül.
  • APM-ügynökök beágyazódnak az alkalmazásba, és automatikusan gyűjtik a végrehajtási időre, HTTP-kérésekre és adatbázis-hívásokra vonatkozó adatokat.
  • Apdex score — a felhasználói elégedettség szabványosított metrikája, amelyet a válaszidő-küszöbértékek alapján számítanak ki.
  • Mobile APM figyelembe veszi az eszközök sajátosságait: hidegindítás, FPS, ANR, hálózati körülmények és operációs rendszer verziók.
  • OpenTelemetry lehetővé teszi az APM-rendszer felépítését szállítófüggőség nélkül, nyílt adatgyűjtési szabvány használatával.
  • Az APM-platform kiválasztását a projekt mérete határozza meg: Firebase startupoknak, Datadog vagy Dynatrace magas megfigyelhetőségi követelményekkel rendelkező enterprise architektúrákhoz.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is