Was ist Application Performance Monitoring (APM)?

Holographische Illustration der Überwachung der Anwendungsleistung: Metriken, Traces und Logs fließen von einer instrumentierten Anwendung in ein einheitliches APM-Dashboard vor dunkelblauem Hintergrund.

Application Performance Monitoring (APM) ist die Praxis des Sammelns, Korrelierens und Analysierens von Telemetriedaten (Metriken, Traces, Logs und Ereignisse) aus laufender Software, um Leistungsverschlechterungen zu erkennen, Ursachen zu ermitteln und Service-Level-Ziele zu verifizieren. Ein APM-Tool instrumentiert Anwendungen entweder durch sprachspezifische Agents, SDKs oder offene Standards wie OpenTelemetry und sendet diese Daten an ein Backend, das sie durch Dashboards, Warnungen und trace-basierte Diagnosen darstellt.

APM, Application Performance Management und Application Portfolio Management sind nicht dasselbe

Drei unterschiedliche Disziplinen teilen sich das Akronym APM. Eine klare Unterscheidung zu Beginn verhindert Verwirrung beim Lesen von Anbieter-Dokumentationen.

Application Performance Monitoring ist die Messebene: Telemetrie aus einer laufenden Anwendung sammeln und als Metriken, Traces und Logs darstellen. Es beantwortet die Frage Ist diese Anwendung gerade gesund, und wenn nicht, wo liegt das Problem?

Application Performance Management ist die umfassendere Disziplin: Definition von SLOs, Aufbau von Performance-Budgets, Durchführung von Lasttests, Instrumentierung des Codes, Betrieb des Monitoring-Stacks und Reaktion auf dessen Ergebnisse. Monitoring ist eine Komponente des Managements.

Application Portfolio Management befindet sich auf der Ebene der Geschäftsarchitektur. Es verwaltet das vollständige Inventar der Anwendungen eines Unternehmens und entscheidet, in welche investiert, modernisiert, konsolidiert oder außer Betrieb genommen wird. Es nutzt Monitoring-Daten als Input, ist aber keine Performance-Disziplin im engeren Sinne.

Wenn in diesem Artikel „APM“ ohne weitere Erläuterung verwendet wird, bezieht es sich auf Application Performance Monitoring.

Application Performance Monitoring vs. Observability

APM ist eine Teilmenge der Observability. APM konzentriert sich auf die Performance auf Anwendungsebene: Antwortzeiten, Durchsatz, Fehlerquoten, Transaktionsablauf. Observability ist die umfassendere Praxis, beliebige Fragen zum internen Zustand eines Systems anhand der gesendeten Telemetriedaten zu stellen, einschließlich Infrastruktur-, Netzwerk- und Geschäftsereignisdaten.

Praktisch bedeutet das:

  • APM-Tools zeigen, dass die p95-Latenz des /checkout-Endpunkts nach dem Rollout um 14:02 Uhr von 180 ms auf 1,4 s gestiegen ist.
  • Ein Observability-Stack ermöglicht die Korrelation mit einem Speicher-Druckereignis eines Kubernetes-Knotens, einem Anstieg von Postgres-Locks und einer Feature-Flag-Rollout, die im selben Zeitraum auftraten.

Moderne APM-Plattformen (Datadog APM, New Relic, Dynatrace, Elastic Observability, Grafana Cloud, Splunk Observability Cloud) haben einen Großteil der breiteren Observability-Fläche integriert, sodass die Grenzen verschwimmen. Das klarste mentale Modell: Observability ist das Ziel, APM ist der anwendungsfokussierte Teil der Daten, die dafür benötigt werden.

Wie Application Performance Monitoring funktioniert

APM läuft in vier Phasen ab: Instrumentierung, Sammlung, Übertragung und Korrelation.

1. Instrumentierung

Die Instrumentierung fügt Messpunkte zum Anwendungscode hinzu, sodass Telemetriedaten ausgegeben werden. Drei gängige Ansätze sind:

  • Auto-Instrumentierungsagenten. Sprachspezifische Laufzeitagenten (Java Bytecode-Instrumentierung, .NET-Profiler, OpenTelemetry Auto-Instrumentierungsbibliotheken für Python oder Node.js) hängen sich an Framework-Einstiegspunkte (HTTP-Handler, Datenbanktreiber, Message-Queue-Clients) an, ohne Codeänderungen.
  • Manuelle Instrumentierung mittels SDK. Entwickler rufen APM- oder OpenTelemetry-SDKs direkt auf, um Spans zu starten und zu stoppen, Attribute anzuhängen und benutzerdefinierte Metriken auszugeben. Erforderlich für geschäftsspezifische Transaktionen, die der Agent nicht erkennt.
  • eBPF- und agentlose Sammlung. Kernel-basierte Probes erfassen Systemaufrufe, Netzwerk- und Prozessdaten, ohne die Anwendung zu verändern. Nützlich in Umgebungen, in denen die Installation von Agenten eingeschränkt ist (compliance-gebundene Workloads, Drittanbieter-Services).

OpenTelemetry (OTel) ist der de-facto offene Standard für Instrumentierung bei allen drei Ansätzen. Es definiert das Wire-Protokoll (OTLP), die semantischen Konventionen für Span- und Metrikbenennung sowie SDKs für Java, Go, Python, Node.js, .NET, Ruby, PHP und weitere. Erlang und Elixir werden durch die offizielle opentelemetry-erlang-Bibliothek abgedeckt. Rust-Traces sind stabil; Logs und Metriken entwickeln sich weiter. Für Swift steht ein community-gepflegtes SDK zur Verfügung.

2. Sammlung

Die instrumentierte Anwendung sendet drei primäre Signaltypen:

  • Metriken: numerische Messungen zu einem Zeitpunkt (Anzahl Anfragen, Latenz-Histogramm, CPU-Auslastung).
  • Traces: geordnete Sets von Spans, die den Pfad einer einzelnen Anfrage über Dienste hinweg darstellen.
  • Logs: zeitgestempelte Textaufzeichnungen, idealerweise als JSON strukturiert, mit Trace- und Span-IDs zur Korrelation.

Neuere Signaltypen umfassen kontinuierliche Profile (CPU-, Speicher- und Lock-Profile, die in Produktion erfasst werden) und Real User Monitoring (RUM)-Ereignisse, die durch JavaScript- oder mobile SDKs im Browser oder Gerät des Nutzers gesendet werden. Das OpenTelemetry Profiles-Signal wurde 2024 als OTEP angenommen und befindet sich noch in der Entwicklung; Backend-Unterstützung ist für 2025–2026 noch teilweise.

3. Übertragung

Die Telemetriedaten fließen auf einem von zwei Wegen vom Anwendungscode an ein Backend:

  • Direkter Export vom Agent oder SDK zum Ingestions-Endpunkt des APM-Anbieters über OTLP, HTTP oder ein proprietäres Protokoll.
  • Über einen Collector (den OpenTelemetry Collector oder eine herstellerspezifische Distribution wie den Datadog Agent oder die Splunk Distribution des OpenTelemetry Collectors), der Daten bündelt, filtert, sampelt und weiterleitet. Logorientierte Forwarder wie Fluent Bit und Vector können Logs und Metriken neben dem OTel Collector für Trace-Daten verarbeiten. Collector entkoppeln die Instrumentierung vom Backend, sodass ein Anbieterwechsel ohne Neu-Instrumentierung möglich ist.

4. Korrelation

Das Backend verknüpft Signale anhand von Identifikatoren (Trace-ID, Span-ID, Service-Name, Host, Container-ID, Benutzer-ID), sodass eine Untersuchung, die an einem Signal startet, auf andere Signale pivotieren kann. Ein typischer Ablauf: Eine Warnung bei erhöhter Fehlerquote → Klick zum Trace des betroffenen Dienstes → detaillierte Analyse eines repräsentativen fehlerhaften Traces → Wechsel vom langsamen Span zu seinen Logs → Bestätigung der problematischen Datenbankabfrage → Prüfung der Metriken des Datenbankhosts. Dieser Pivot-Weg unterscheidet eine APM-Plattform von einer Sammlung von einzelnen Tools.

Kernkomponenten eines APM-Stacks

Eine vollständige APM-Implementierung umfasst:

Komponente Zweck
Agenten / SDKs / OTel-Bibliotheken Instrumentieren die Anwendung und senden Telemetrie
Collector Bündelt, filtert, sampelt und leitet Telemetrie weiter
Metrik-Backend Zeitreihendatenbank, Alarmierung, Dashboards
Trace-Backend Span-Speicherung, Abhängigkeitsabbildung, Latenzanalyse
Log-Backend Indizierte Log-Speicherung mit Trace-Korrelation
RUM und synthetisches Monitoring Misst Performance aus Nutzersicht
Alarmierung und Integration der Incident-Response Leitet Signale an Bereitschaftsdienste weiter (PagerDuty, Opsgenie, Slack)
Profiler Kontinuierliche CPU- und Speicherprofilierung in Produktion

Wie man synthetisches Monitoring mit Dotcom-Monitor abdeckt. Dotcom-Monitor bietet vier Produkte für synthetisches Monitoring, die eine einheitliche Alarmierungs- und Reporting-Prozedur teilen. Verwenden Sie BrowserView für Einzelseiten-Ladezeiten in über 40 Browser- und Geräte-Kombinationen. Verwenden Sie UserView für mehrstufige Transaktionsabläufe (Login, Suche, Checkout). Verwenden Sie WebView für REST-, SOAP- und GraphQL-API-Monitoring. Verwenden Sie ServerView für TCP-, DNS-, SMTP-, FTP-, ICMP- und andere Netzwerkprotokoll-Checks. Für interne Anwendungen hinter einer Firewall installieren Sie den Private Agent auf einem Server innerhalb des Netzwerks. Es ist eine einzelne Binärdatei, die ausgehende Verbindungen zur Plattform initiiert, weshalb keine eingehenden Firewall-Regeln nötig sind und interne Endpunkte privat bleiben.

APM-Metriken, die wichtig sind

Dies sind die Metriken, die die meisten Teams instrumentieren und alarmieren. Definitionen sind, wo anwendbar, an die OpenTelemetry-Semantik angepasst.

Metrik Definition
Antwortzeit / Latenz Wandzeit von Anforderungseingang bis Antwortversand. Verfolgen Sie p50, p95, p99 und p99.9 separat; Durchschnittswerte verschleiern Spitzlatenzen.
Durchsatz Anfragen pro Zeiteinheit, typischerweise Anfragen pro Sekunde (RPS) oder Minute (RPM).
Fehlerquote Anteil der Anfragen, die einen 5xx-Status, eine Ausnahme oder eine Verletzung einer Geschäftsregel zurückgaben. Ausgedrückt als Prozentsatz.
Apdex-Score Benutzerzufriedenheitsindex zwischen 0 und 1 basierend auf einer konfigurierbaren Latenzgrenze T. Apdex = (zufrieden + tolerierend/2) / Gesamt. Von den meisten SRE-Teams heute als veraltet angesehen; bevorzugen explizite SLI/SLO-Latenzziele (z. B. p99 < 500 ms über 28 Tage); wird noch von AppDynamics, New Relic und einigen anderen angezeigt.
Sättigung Wie ausgelastet eine Ressource ist (CPU, Speicher, Verbindungs-Pool, Warteschlangentiefe). Eines von Googles vier goldenen Signalen.
CPU- und Speicherauslastung Ressourcenverbrauch pro Prozess und Container.
Garbage-Collection-Metriken GC-Pausendauer, Frequenz und Heap-Größe für JVM-, .NET-, Go- und Node.js-Workloads.
Datenbankabfrage-Metriken Abfragelatenz, untersuchte Zeilen, Lock-Wartezeit, Anzahl langsamer Abfragen.
Warteschlangentiefe und Verbraucher-Rückstand Für Kafka, RabbitMQ, SQS und ähnliche Systeme. Rückstand ist ein Frühindikator für Kaskadenverzögerungen.
Kaltstartdauer Spezifisch für serverlose Dienste (AWS Lambda, Azure Functions, Google Cloud Run).
MTTD, MTTR, MTBF Mittlere Zeit bis zur Erkennung, mittlere Zeit zur Wiederherstellung, mittlere Zeit zwischen Fehlern. Betriebsmetriken, die zusammen mit Anwendungsmetriken verfolgt werden.
SLI / SLO / Fehlerbudget Service-Level-Indikatoren, die dazugehörigen Objectives und das verbrauchte Budget bei Überschreitung der SLI-Ziele.

Wie man diese Metriken ohne Code-Instrumentierung erfasst. Einige der oben genannten Werte lassen sich von außen ohne Agent oder SDK messen. Ein synthetischer Check in Dotcom-Monitor liefert Antwortzeiten mit p50-, p95- und p99-Aufschlüsselungen, Fehlerquoten nach HTTP-Statuscodes, Time to First Byte (TTFB), DNS-Auflösungszeiten, TLS-Handshakes und vollständige Wasserfall-Timings pro Anforderung. Die Daten werden im Enterprise-Plan bis zu drei Jahre gespeichert, was für Jahresvergleiche der SLI-Baselines ohne Export in separate Zeitreihen-Datenbanken ausreicht.

Das Google SRE-Buch definiert die vier goldenen Signale als Latenz, Verkehr, Fehler und Sättigung. Die RED-Methode (Rate, Errors, Duration) und die USE-Methode (Utilization, Saturation, Errors) sind weit verbreitete Frameworks, die diese in überschaubare Dashboards gruppieren.

Vorteile von APM

Technische Vorteile (Entwicklung)

  • Schnellere Ursachenanalyse. Verteilte Traces reduzieren Untersuchungen über mehrere Dienste von Stunden auf Minuten, indem sie die genaue Ursache von Latenz oder Fehlern offenlegen.
  • Produktionstaugliches Debugging. Kontinuierliche Profiler und strukturierte Logs ermöglichen Problemdiagnosen in Produktion ohne Debugger-Anbindung.
  • Erkennung von Regressionen. Pro-Deployment-Baselines markieren Performanceverschlechterungen, bevor sie sich ausbreiten.
  • Kapazitätseinsicht. Sättigungs- und Durchsatzmetriken steuern realistische Autoscaling-Grenzwerte und Right-Sizing-Entscheidungen.

Operative Vorteile (DevOps, SRE, NOC)

  • Durchsetzung von SLOs. APM-Daten speisen Fehlerbudget-Berechnungen und steuern riskante Deployments.
  • Reduzierung von Alarmmüdigkeit. Symptom-basierte Alarme auf goldene Signale ersetzen laute Schwellenalarme auf einzelnen Hosts.
  • Gemeinsame Referenz über Teams hinweg. Eine gemeinsame Trace-Ansicht beendet die „Liegt es am Netzwerk oder an der Anwendung?“-Schleife.
  • Dokumentierte Vorfallzeitlinien. Trace- und Log-Aufbewahrung liefert Post-Mortem-Beweise ohne Wiederholung von Vorfällen.

Geschäftliche Vorteile

  • Reduzierte Umsatzausfälle durch Ausfallzeiten und Latenz. Konversionsrate, Warenkorbabschluss und Sitzungsdauer sind nachgelagert von p95-Latenz.
  • Geringere Cloud-Kosten. Optimale Infrastrukturgröße und Erkennung ineffizienter Abfragen vermindern Verschwendung.
  • Nachweis für Audit und Compliance. SLA-Berichte und Vorfallzeitlinien unterstützen vertragliche und regulatorische Anforderungen.

Wer nutzt APM und worauf achten sie

Rolle Hauptnutzung von APM
DevOps-Ingenieure Validierung von Deployments, Überwachung CI/CD-gesteuerter Releases, Freigabe von Promotionen basierend auf Performance-Kriterien.
Site Reliability Engineers (SREs) Definition und Durchsetzung von SLOs, Verwaltung von Fehlerbudgets, Incident-Response, Erstellung von Runbooks basierend auf Trace-Mustern.
Softwareentwickler Debugging von Latenz und Fehlern im eigenen Dienst, Profilierung von Hot-Code-Pfaden, Validierung von Fixes in Staging und Produktion.
QA-Ingenieure Vergleich von Performance-Baselines zwischen Release-Kandidaten, Steuerung von Last- und synthetischen Tests anhand von APM-Daten, Erkennung von Regressionen vor dem Release.
Netzwerkadministratoren Unterscheidung zwischen Netzwerk- und Anwendungsschicht-Problemen, Überwachung von Dienst-zu-Dienst-Verkehr, Validierung von Firewall- und Load-Balancer-Verhalten.
Sicherheitsingenieure Erkennung von Anomalien, die auf Missbrauch hinweisen könnten (Durchsatz bei Credential Stuffing, ungewöhnliche Fehler-Muster an Authentifizierungs-Endpunkten).
Führungskräfte und Produktverantwortliche Verfolgung von Zuverlässigkeits-KPIs, nutzerseitiger Latenz und der Auswirkung von Performance-Arbeiten auf Geschäftszahlen.

APM und Sicherheit: Erkennung, nicht Prävention

APM ist kein Sicherheitswerkzeug, aber seine Telemetriedaten sind ein nützliches Sicherheitssignal. Muster, die APM sichtbar machen kann:

  • Plötzliche Verkehrsspitzen an bestimmten Endpunkten (Credential Stuffing, Scraping).
  • Ungewöhnliche Fehlermuster an Authentifizierungs- oder Zahlungsendpunkten.
  • Ausgehende Anrufe zu unerwarteten Zielen von kompromittierten Diensten.
  • Neue Abhängigkeiten, die nach einem Deployment in Trace-Daten auftauchen.

Moderne APM-Tools integrieren sich mit SIEM- und SOAR-Plattformen (Splunk Enterprise Security, Microsoft Sentinel, Elastic Security, Datadog Cloud SIEM) durch das Weiterleiten von annotierten Logs und Traces. Einige Plattformen bieten jetzt Interactive Application Security Testing (IAST) und runtime application self-protection (RASP)-Add-ons, die auf dem APM-Agenten aufsetzen (Contrast Security, Datadog Application and API Protection – ehemals Datadog ASM – und New Relics IAST-Funktion im Vulnerability Management).

APM ist eine Erkennungsschicht. Es ergänzt, ersetzt aber weder eine WAF, einen Schwachstellen-Scanner noch einen EDR.

APM für Cloud-Native- und Microservices-Workloads

Cloud-native Architekturen verändern vier Aspekte von APM:

Datenvolumen. Ein Monolith erzeugt ein Set an Metriken; ein Microservice-Deployment mit fünfzig Services erzeugt fünfzig Mal so viele, multipliziert mit Replikaten und jedem Span in jedem Trace. Adaptive Sampling (Head-based, Tail-based oder probabilistisch) ist unverzichtbar. Der Tail-Sampling-Prozessor des OpenTelemetry Collectors ist der Standard.

Ephemeralität. Container und serverlose Funktionen existieren für Sekunden bis Minuten. Traditionelles host-basiertes Monitoring verliert Kontexte, sobald ein Pod neu startet. Dienstbezogene Identifikatoren (Service-Name, Namespace, Deployment) ersetzen Host-Identitäten als primäre Aggregationsschlüssel.

Service-zu-Service-Komplexität. Die Ursache eines Latenzspitzen zu identifizieren erfordert das Durchlaufen eines Abhängigkeitsgraphen, den kein Mensch im Gedächtnis halten kann. Service-Maps, die aus Trace-Daten generiert werden (die Abhängigkeitsansicht in Jaeger, Grafana Tempos Service-Graph, Datadogs Service Map), sind die praktische Lösung.

Heterogene Laufzeitumgebungen. Eine einzelne Anfrage kann einen Node.js BFF, einen Go-Service, ein Java-Legacy-Backend und eine serverlose Funktion durchlaufen. Die cross-language Trace-Kontext-Propagation von OpenTelemetry (W3C Trace Context-Header) ermöglicht einen einzelnen Trace über diesen Pfad.

Wie jedes Region von außerhalb des Rechenzentrums validiert wird. Verteilte Systeme fallen oft regionsweise aus. Eine CDN-Node-Fehlleitung, eine Verzögerung bei der DNS-Propagation oder ein regionaler Zertifikatsfehler kann die Anwendung zwar im Rechenzentrum intakt lassen, aber von São Paulo oder Singapur aus unerreichbar machen. Zur Erkennung werden synthetische Checks von jeder wichtigen Region mit separater Zieliste ausgeführt. In Dotcom-Monitor werden Monitoring-Standorte pro Zieliste in der Monitor-Konfiguration zugewiesen, wodurch das Dashboard regionale Latenz- und Verfügbarkeitsunterschiede automatisch isoliert. Damit werden AWS-Regionen-Ausfälle, Cloudflare-Vorfälle und BGP-Route-Flaps erkannt, bevor interne Tools sie melden.

Kubernetes-spezifische Themen verdienen eine eigene Betrachtung: Pod-Neustartanzahl als Frühindikator, kube-state-metrics für Cluster-weite Signale, Reaktionsfähigkeit des Horizontal Pod Autoscalers und Knotendruck-Signale gehören alle in ein cloud-natives APM-Dashboard.

APM für AI- und LLM-Workloads

LLM-gestützte Features bringen neue Fehlerquellen mit sich, die klassische APM-Metriken nicht erfassen:

  • Time-to-first-token (TTFT) und Inter-Token-Latenz sind entscheidender als die Gesamtdauer der Anfrage bei Streaming-Antworten.
  • Token-Kosten pro Anfrage sind zugleich eine Geschäfts- und Ressourcenmetrik.
  • Prompt- und Completion-Inhalte (stichprobenartig, redigiert) sind notwendig, um Halluzinationen, Prompt-Injection-Versuche und eine Verschlechterung der Ausgabequalität zu diagnostizieren.
  • Modell-Drift (eine messbare Änderung der Ausgabeverteilung über die Zeit) erfordert die Bewertung der Ergebnisse neben der Latenz.
  • Tool-Call- und Retrieval-Traces in agentenbasierten Workflows: Spans für Vektorstore-Abfragen, Funktionsaufrufe und API-Anfragen.

OpenTelemetrys GenAI-Semantik-Konventionen (ab 2024 eingeführt, Stand 2026 noch in Entwicklung) definieren standardisierte Span-Attribute für LLM-Aufrufe (gen_ai.provider.name, gen_ai.request.model, gen_ai.usage.input_tokens, gen_ai.usage.output_tokens). LLM-spezifische Observability-Tools (Langfuse, Arize Phoenix, Helicone, LangSmith) existieren neben Allzweck-APMs, die GenAI-Unterstützung hinzugefügt haben (Datadog LLM Observability, New Relic AI Monitoring, Dynatrace AI Observability).

Wie man einen LLM-Endpunkt mit Dotcom-Monitor überwacht. Erstellen Sie einen WebView-Monitor, der auf den LLM-Endpunkt zeigt, z.B. POST /v1/chat/completions. Legen Sie eine feste Testaufforderung in den Anfragetext und den API-Key oder Bearer-Token in den Header. Setzen Sie drei JSONPath-Assertionen: choices[0].message.content muss nicht leer sein, usage.total_tokens muss in einem vernünftigen Bereich liegen (um Token-Ausreißer zu erkennen) und die Antwortzeit muss unter Ihrem TTFT-Budget bleiben. Diese Konfiguration erkennt Quota-Überschreitungen, Modellveraltet-Meldungen wie „model not found“, Anbieterausfälle und regionale Ratenbegrenzungen. Interne LLM-Observability-Tools wie Langfuse, Helicone und LangSmith sehen diese Fehler nicht, da sie nur das beobachten, was die Anwendung selbst erhält.

Best Practices für Application Performance Monitoring

  • Standardmäßig mit OpenTelemetry instrumentieren. Vermeiden Sie Vendor-Lock-in. Wenn ein anbieter-spezifischer Agent Funktionen bietet, die OTel nicht hat, bauen Sie diese darauf auf, statt OTel zu ersetzen.
  • SLOs vor Dashboards definieren. Bestimmen Sie, was „gesund“ in nutzerseitigen Begriffen bedeutet, und erstellen Sie dann Dashboards und Alarme, die das messen.
  • Auf Symptome alarmieren, bei SLO-Überschreitung Pages erzeugen. Schwellenwertalarme auf Hosts erzeugen Lärm. Alarme, die feuern, wenn das Fehlerbudget eines SLO sich mit untragbarer Geschwindigkeit verbraucht, schonen die Bereitschaft.
  • Synthetisches und Echtnutzer-Monitoring koppeln. Synthetische Checks erkennen Ausfälle von kontrollierten Standorten mit bekanntem Rhythmus. RUM misst die tatsächliche Nutzererfahrung inklusive letztmeiliger Netzwerk- und Gerätevariabilität. Kein Verfahren ersetzt das andere.
  • Standardisierte Span- und Metrikbenennung. Verwenden Sie die semantischen Konventionen von OpenTelemetry. Vermeiden Sie teamindividuelle Namensgebung.
  • End-to-End-Korrelation per Trace-ID. Integrieren Sie Trace-Kontext in Logs, Warteschlangennachrichten und Datenbankabfragen (z. B. als SQL-Kommentare via sqlcommenter). Eine Trace-ID in jeder Logzeile ist die wichtigste Observability-Investition.
  • Intelligent sampeln. Head-Sampling bei 1–10 % für Services mit hohem Volumen; Tail-Sampling für Fehler- und Langzeit-Trace-Aufbewahrung. Behalten Sie alle Fehler-Traces.
  • Den Collector als Produktionsinfrastruktur behandeln. Betreiben Sie den OpenTelemetry Collector mit Redundanz, Monitoring und ausreichender Kapazität.
  • Quartalsweise überprüfen und optimieren. Ohne aktive Bereinigung steigen Metrikkardinalität, Logvolumen und Trace-Aufbewahrung an. Planen Sie Zeit ein, um nicht mehr benötigte Daten zu entfernen.
  • Gameday-Übungen durchführen. Injektieren Sie regelmäßig Ausfälle (Chaos Mesh, Gremlin, AWS Fault Injection Service) und prüfen Sie, ob der APM-Stack diese erkennt. Ungetestete Observability ist unzuverlässige Observability.

APM-Glossar

Agent. Software, die neben der Anwendung installiert wird, um Laufzeitaufrufe automatisch zu instrumentieren und Telemetrie zu senden.

Apdex. Application Performance Index. Ein Zufriedenheitswert zwischen 0 und 1, abgeleitet von einem Latenzschwellenwert.

Kardinalität. Die Anzahl der einzigartigen Label- oder Attribut-Kombinationen auf einer Metrik. Hohe Kardinalität ist teuer in Speicherung und Abfrage.

Distributed tracing. Die Praxis, eine einzelne Anfrage über mehrere Dienste hinweg zu verfolgen, indem eine Trace-ID propagiert wird.

Fehlerbudget. Die von einem SLO in einem Zeitraum erlaubte Fehlertoleranz. Wird durch Vorfälle verbraucht.

Exemplar. Eine spezifische Trace-ID, die an einen Metrik-Datenpunkt angehängt ist, um von einer Metrikanomalie zu einem repräsentativen Trace zu springen.

Goldene Signale. Latenz, Traffic, Fehler, Sättigung. Die vier Metriken, die jeder Dienst bereitstellen sollte.

Instrumentierung. Code oder Konfiguration, die aus einer laufenden Anwendung Telemetriedaten erzeugt.

OpenTelemetry (OTel). Das Observability-Framework der CNCF. Definiert APIs, SDKs, das OTLP-Protokoll und semantische Konventionen.

OTLP. OpenTelemetry Protocol. Das Wire-Format zum Versand von Traces, Metriken und Logs.

RED-Methode. Rate, Errors, Duration. Service-Level Metrik-Framework.

Real User Monitoring (RUM). Leistungsdaten, erfasst aus Browsern oder Geräten der Nutzer.

SLI / SLO / SLA. Service-Level Indicator (Messung), Service-Level Objective (internes Ziel), Service-Level Agreement (vertragliche Verpflichtung).

Span. Eine einzelne Operation innerhalb eines Traces mit Startzeit, Dauer und Attributen.

Synthetisches Monitoring. Skriptbasierte, periodische Checks, die Nutzerverhalten von kontrollierten Standorten simulieren.

Tail Sampling. Stichprobenerfassung von Traces nach ihrer Beendigung basierend auf Eigenschaften wie Fehlerstatus oder Dauer.

Telemetrie. Vom System über sich selbst ausgesandte Daten. In APM sind das Metriken, Traces, Logs, Profile und Ereignisse.

Trace-Kontext. Metadaten, die über Service-Grenzen hinweg übertragen werden, um Spans zu einem Trace zu verbinden. Standardisiert als W3C Trace Context.

USE-Methode. Utilization, Saturation, Errors. Ressourcenbezogenes Metrik-Framework.

Wie es weitergeht

Für eine externe Sicht auf nutzerseitige Performance und Verfügbarkeit, führen Sie synthetische und Real-Browser-Checks gegen Ihre Produktionsendpunkte aus mehreren Regionen durch. Dotcom-Monitor bietet diese Ebene: Skriptbasierte Browsertransaktionen, API-Monitoring und SLA-Berichterstattung aus einem globalen Überwachungsnetz, um einen internen APM-Stack zu ergänzen, nicht zu ersetzen. Für internes APM starten Sie mit OpenTelemetry-Instrumentierung in einem kritischen Dienst, senden Traces an ein Backend (Jaeger, Tempo oder eine kommerzielle Plattform), definieren ein SLO und bauen von dort aus aus.

Frequently Asked Questions

Worin liegt der Unterschied zwischen APM und Infrastrukturüberwachung?
Die Infrastrukturüberwachung misst Hosts, Container und Netzwerkgeräte (CPU, Speicher, Festplatte, Paketverlust). APM misst die auf dieser Infrastruktur laufende Anwendung (Anfrageverzögerung, Fehlerrate, Traces). Moderne Plattformen kombinieren beides, aber die Fragen, die sie beantworten, sind unterschiedlich. Die Infrastrukturüberwachung fragt „Ist der Host gesund?“ APM fragt „Ist die Anwendung aus Sicht des Nutzers gesund?“
Funktioniert APM für serverlose Funktionen?
Ja, mit Vorbehalten. AWS Lambda, Azure Functions und Google Cloud Run unterstützen alle APM-Agenten und OpenTelemetry-Instrumentierung. Die Einschränkungen sind der durch den Agenten verursachte Cold-Start-Overhead (abgemildert durch Lambda Extensions oder Funktion-als-Layer-Instrumentierung) und das kurze Ausführungsfenster, das gebündelten Export weniger nützlich macht. Suchen Sie nach Tools, die ausdrücklich serverless unterstützen (Datadog Serverless Monitoring, New Relic AWS Lambda-Integration, die OpenTelemetry Lambda Layer).
Wie lange dauert die Einrichtung von APM?
Ein einziger Service mit Auto-Instrumentierung: weniger als eine Stunde bis zu den ersten Traces. Eine Multi-Service-Produktionsbereitstellung mit SLOs, Dashboards und Alarmierung: typischerweise zwei bis sechs Wochen für ein kleines Team. Der Großteil der Zeit entfällt nicht auf die technische Instrumentierung, sondern auf das Festlegen von SLOs und das Abstimmen der Alarme, damit sie nützlich sind.
Wie viel kostet APM?
Preismodelle variieren. Plattformen mit Preis pro Host wie Datadog berechnen Infrastruktur und APM separat mit ungefähr 15–40 $ pro Host und Monat Listenpreis. Nutzungsbasierte Plattformen wie New Relic berechnen nach eingelesenen Daten (pro GB) plus Nutzerplätze. Pro-GB-eingelesene Protokollierung (Datadog Logs, Elastic, Splunk) skaliert mit dem Volumen. OpenTelemetry plus ein selbst gehosteter Stack (Prometheus, Tempo, Loki, Grafana) hat keine Lizenzkosten, aber tatsächliche Betriebskosten. Für eine mittelgroße Kubernetes-Implementierung ist mit mehreren hundert Dollar bis zu niedrigen fünfstelligen Beträgen pro Monat bei einer kommerziellen Plattform zu rechnen, abhängig von Datenmenge und Aufbewahrungsdauer.
Kann APM das Logging ersetzen?
Nein. Logs bleiben das richtige Werkzeug für hoch-kardinalitätsreiche, seltene Kontexte (die Sitzung eines bestimmten Benutzers, ein bestimmtes Geschäftsereignis). APM-Traces und Metriken sind das richtige Werkzeug für hochfrequente, niedrig-kardinalitätsreiche Leistungsdaten. Die beiden ergänzen sich, und moderne Plattformen vereinen sie unter einer einzigen Abfrageschicht.
Unterstützt APM mobile Anwendungen?
Ja. Mobile RUM SDKs (Firebase Performance Monitoring, Datadog Mobile RUM, New Relic Mobile, Embrace, Sentry Performance) erfassen App-Startzeit, Bildschirmübergänge, Abstürze, Netzwerk-Anfragen und ANRs (Android) oder Hänger (iOS). Sie teilen den Trace-Kontext mit Backend-Diensten, sodass ein langsamer Bildschirm auf den Backend-Aufruf zurückverfolgt werden kann, der ihn verursacht hat.
Welche Sprachen unterstützt APM?
Die wichtigsten kommerziellen Plattformen decken Java, .NET, Python, Node.js, Go, Ruby und PHP ab. Die Sprachunterstützung von OpenTelemetry ist die umfangreichste, wobei Rust-Traces stabil sind und Swift als Community-SDK verfügbar ist. Erlang und Elixir werden durch die offizielle opentelemetry-erlang-Bibliothek abgedeckt, einschließlich der automatischen Instrumentierung für Phoenix, Ecto und Cowboy. Weniger ausgereifte Ziele (Crystal, Zig, eingebettete Laufzeiten) erfordern in der Regel eine manuelle OTel-SDK-Instrumentierung.
Matthew Schmitz
About the Author
Matthew Schmitz
Leiter für Last- und Performance-Tests bei Dotcom-Monitor

Als Leiter für Last- und Performance-Tests bei Dotcom-Monitor führt Matt derzeit ein Team außergewöhnlicher Ingenieure und Entwickler, die gemeinsam innovative Lösungen für Last- und Performance-Tests entwickeln, um selbst die anspruchsvollsten Anforderungen von Unternehmen zu erfüllen.

Latest Web Performance Articles​

Was ist Application Performance Monitoring (APM)?

Was Application Performance Monitoring (APM) ist, wie Instrumentierung, Sammlung und Korrelation funktionieren, welche Metriken wichtig sind und welche bewährten Methoden APM in der Produktion nützlich machen

Starten Sie Dotcom-Monitor kostenlos

Keine Kreditkarte erforderlich