Datadog: co to jest, monitorowanie aplikacji i obserwowalność

Autor: IT Sectr Opublikowano: 2026-05-30 Czas czytania: 10 min

Datadog to chmurowa platforma obserwowalności, która łączy monitorowanie infrastruktury, APM, logowanie i doświadczenie cyfrowe w jednym interfejsie. Platforma zbiera metryki, trace'y i logi z serwerów, kontenerów i urządzeń mobilnych w czasie rzeczywistym, umożliwiając zespołom szybkie znajdowanie źródła problemów. Według danych Datadog, 2025, platforma przetwarza ponad 2,5 petabajta danych dziennie od tysięcy klientów na całym świecie. Dla programistów mobilnych Datadog oferuje natywne SDK dla Android i iOS z automatycznym zbieraniem metryk wydajności.

Najważniejsze

  • Datadog to SaaS-owa platforma obserwowalności z obsługą APM, logów, metryk i RUM.
  • APM śledzi wydajność każdego żądania poprzez distributed tracing.
  • RUM (Real User Monitoring) zbiera dane o zachowaniu rzeczywistych użytkowników w aplikacjach mobilnych.
  • Mobilny SDK Datadog obsługuje automatyczne śledzenie ekranów i żądań sieciowych.
  • Integracja z pipeline'ami CI/CD pozwala śledzić wpływ wydań na wydajność.

Czym jest Datadog?

Datadog to chmurowa platforma do monitorowania i obserwowalności, uruchomiona w 2010 roku przez Oliviera Pomela i Alexisa Le-Quioca. Platforma zapewnia jeden panel do zbierania metryk, logów i trace'y z infrastruktury, aplikacji i urządzeń użytkowników. W przeciwieństwie do punktowych rozwiązań, Datadog łączy APM, logi, monitorowanie infrastruktury, Synthetic Monitoring i RUM w jednym produkcie.

Architektura Datadoga opiera się na agentach - lekkich programach instalowanych na serwerach lub wbudowywanych w aplikacje. Agent zbiera dane i wysyła je do chmurowej infrastruktury Datadog przez szyfrowane połączenie. Dla platform mobilnych Datadog dostarcza natywne SDK działające na Android (Kotlin, Java) i iOS (Swift, Objective-C).

Według raportu Gartner Magic Quadrant for APM and Observability (2024), Datadog została uznana za lidera w kategorii obserwowalności z najszerszym zestawem zintegrowanych możliwości. Platforma jest używana przez takie firmy jak Samsung, Adidas i Peloton do monitorowania milionów urządzeń dziennie.

Dla zespołów mobilnych Datadog jest szczególnie cenny, ponieważ pozwala powiązać wydajność backendu z doświadczeniem użytkownika na urządzeniu. Jeśli API zaczyna odpowiadać wolniej, Datadog pokazuje nie tylko czas odpowiedzi serwera, ale także jak wpłynęło to na czas uruchamiania lub renderowanie ekranu na konkretnym modelu telefonu.

Kluczowe komponenty platformy

Infrastructure Monitoring śledzi metryki CPU, pamięci, dysku i sieci dla serwerów, kontenerów i klastrów Kubernetes. APM (Application Performance Monitoring) zbiera trace'e dla każdego żądania przechodzącego przez system rozproszony i pokazuje opóźnienia na każdym etapie. Log Management centralizuje wszystkie logi - od systemowych po aplikacyjne - z możliwością pełnotekstowego wyszukiwania i tworzenia metryk na podstawie logów. Synthetic Monitoring symuluje scenariusze użytkownika z różnych lokalizacji geograficznych. Real User Monitoring (RUM) zbiera dane z rzeczywistych urządzeń użytkowników, w tym telefonów i tabletów.

Model cenowy

Datadog stosuje model pay-as-you-go z podziałem na produkty: hosty infrastrukturalne, hosty APM, logi (wolumen w gigabajtach), sesje RUM i testy Synthetic. Każdy produkt jest rozliczany osobno, co pozwala płacić tylko za używane funkcje. Koszt zaczyna się od 15 dolarów za host miesięcznie za monitorowanie infrastruktury i od 1 dolara za 10 000 sesji RUM. Dla startupów dostępny jest program Datadog for Startups z kredytami do 100 000 dolarów.

Datadog APM i Distributed Tracing

Application Performance Monitoring (APM) w Datadog to system distributed tracing, który śledzi każde żądanie od momentu wejścia do systemu aż do zakończenia wszystkich zagnieżdżonych operacji. APM automatycznie instrumentuje popularne frameworki i biblioteki: Spring Boot, Django, Express.js, ASP.NET Core i inne. Dla każdego żądania APM tworzy flame graph - wizualną reprezentację czasu wykonania wszystkich fragmentów kodu.

Flame graph pokazuje, ile czasu zajęło każde wywołanie funkcji lub żądanie do zewnętrznego serwisu. Jeśli metoda bazy danych wykonuje się 2 sekundy zamiast oczekiwanych 200 milisekund, jest to od razu widoczne na wykresie. Datadog APM obsługuje OpenTelemetry - otwarty standard zbierania telemetrii, co pozwala podłączyć instrumentację od dowolnych kompatybilnych dostawców.

Według danych Benchling Engineering Blog (2024), migracja na Datadog APM pozwoliła zespołowi skrócić czas diagnozowania incydentów z 45 minut do 8 minut dzięki automatycznej korelacji trace'y z logami i metrykami. Kluczowym scenariuszem jest trace-to-log correlation: po jednym trace ID można znaleźć wszystkie logi dotyczące konkretnego żądania bez ręcznego wyszukiwania.

Service Map i zależności

Service Map to automatycznie budowany graf wszystkich serwisów systemu i ich wzajemnych powiązań. Każdy serwis jest wyświetlany jako węzeł, a połączenia między węzłami pokazują, jakie wywołania zachodzą między serwisami. Kolor węzła odzwierciedla stan zdrowia: zielony - normalna praca, żółty - zwiększone opóźnienie, czerwony - błędy. Service Map pomaga szybko określić, który serwis jest wąskim gardłem, nawet bez wcześniejszego poznania architektury.

java
import datadog.trace.api.Trace;
import io.opentelemetry.api.trace.Span;

public class PaymentService {

    @Trace(resourceName = "PaymentService.processPayment")
    public PaymentResult processPayment(Order order) {
        Span span = Tracer.buildSpan("validate.payment").start();
        try {
            PaymentGateway gateway = new PaymentGateway();
            PaymentResult result = gateway.charge(order.getAmount());
            span.setTag("payment.provider", "stripe");
            return result;
        } finally {
            span.close();
        }
    }
}

Real User Monitoring dla aplikacji mobilnych

Real User Monitoring (RUM) w Datadog zbiera dane z rzeczywistych urządzeń użytkowników - czas ładowania ekranów, reakcję na dotknięcia, zużycie pamięci, częstotliwość ANR (Application Not Responding) i wskaźnik crashy. RUM SDK dla Android i iOS jest wbudowywane w aplikację i automatycznie tworzy sesje, grupując wszystkie zdarzenia w ramach jednej interakcji użytkownika.

Każda sesja RUM zawiera sekwencję zdarzeń: otwarcie ekranu, naciśnięcie przycisku, żądanie sieciowe, przewijanie. Dla każdego zdarzenia Datadog rejestruje znacznik czasu, czas trwania i parametry techniczne urządzenia: model, system operacyjny, wersję aplikacji, typ połączenia. Pozwala to filtrować metryki według konkretnych wersji i urządzeń. Można na przykład zobaczyć, że czas uruchamiania wzrósł na Android 14 przy użyciu określonego modelu Samsung.

RUM jest ściśle zintegrowany z APM: jeśli sesja użytkownika zakończyła się błędem na ekranie płatności, Datadog automatycznie pokazuje odpowiedni trace z backendu. Przyspiesza to diagnozowanie 5-7 razy w porównaniu z ręcznym dopasowywaniem logów frontendowych i backendowych. Dla zespołów mobilnych RUM udostępnia również raporty watchlist - cotygodniowe podsumowanie pogorszenia kluczowych metryk.

Konfiguracja monitorowania błędów RUM

Datadog RUM automatycznie zbiera crash reports z pełnym stacktrace, w tym numery linii kodu źródłowego. Dla Androida działa to poprzez integrację z ACRA lub Firebase Crashlytics, dla iOS - przez PLCrashReporter. Każdy crash jest powiązany z sesją użytkownika, co pozwala odtworzyć sekwencję działań prowadzącą do awarii. RUM śledzi również ANR - jedno z najbardziej krytycznych zdarzeń dla aplikacji Android. Jeśli aplikacja nie odpowiada dłużej niż 5 sekund, Datadog rejestruje ANR i pokazuje pełny thread dump z momentu zablokowania UI.

Logowanie i metryki infrastruktury

Log Management w Datadog centralizuje wszystkie logi aplikacji i infrastruktury w jednym magazynie z pełnotekstowym wyszukiwaniem. Logi mobilne (zdarzenia analityczne, błędy API, telemetria) są wysyłane z urządzenia przez SDK i łączone z logami serwerowymi według wspólnego identyfikatora. Datadog automatycznie parsuje logi na ustrukturyzowane pola: poziom (INFO, WARN, ERROR), serwis, host, znacznik czasu, wiadomość.

Do filtrowania logów używany jest własny język zapytań z obsługą wildcard, wyrażeń regularnych i faset. Logi można grupować według wzorców - Datadog automatycznie wykrywa powtarzające się patterny i pokazuje je jako jeden klaster. Jest to szczególnie przydatne przy analizie tysięcy logów z urządzeń mobilnych: identyczne błędy są grupowane, a programista widzi nie 10 000 linii, ale 10 klastrów z częstotliwością występowania.

Metrics to numeryczne serie czasowe zbierane w interwale od 1 sekundy. Datadog obsługuje trzy typy metryk: gauge (bieżąca wartość), count (suma za interwał) i rate (szybkość zmian). Dla aplikacji mobilnych niestandardowe metryki mogą śledzić liczbę otwarć ekranu, czas wykonania kluczowego scenariusza biznesowego lub częstotliwość użycia konkretnej funkcji. Niestandardowe metryki są wysyłane przez DogStatsD - protokół kompatybilny ze StatsD z rozszerzeniami Datadog.

kotlin
import com.datadog.android.Datadog
import com.datadog.android.log.Logger

class PaymentAnalytics {

    private val logger = Logger.Builder()
        .setDatadogLogsEnabled(true)
        .setNetworkInfoEnabled(true)
        .setBundleWithTraceEnabled(true)
        .build()

    fun trackCheckout(orderId: String, amount: Double) {
        logger.info(
            "Checkout initiated for order {orderId}",
            mapOf(
                "order.id" to orderId,
                "order.amount" to amount,
                "payment.method" to "credit_card"
            )
        )
    }
}

Integracja Datadog SDK w projekcie mobilnym

Datadog SDK dla Android i iOS udostępnia jednolity zestaw modułów: Core (inicjalizacja), RUM (monitorowanie doświadczenia użytkownika), Logs (wysyłanie logów), Trace (śledzenie żądań). Dla Androida SDK jest dodawany przez Gradle, dla iOS - przez CocoaPods lub Swift Package Manager. Po instalacji SDK jest inicjalizowany w Application.onCreate (Android) lub w AppDelegate (iOS) z przekazaniem client token, environment i nazwy aplikacji.

Do automatycznego śledzenia żądań sieciowych na Androidzie używany jest OkHttp Interceptor, na iOS - NSURLProtocol lub URLSession delegate. Datadog obsługuje również integrację z popularnymi klientami HTTP: Retrofit, Apollo GraphQL, Ktor, Alamofire. Po podłączeniu Interceptora każde żądanie HTTP jest automatycznie przypisywane do sesji RUM i APM-trace, tworząc jednolity łańcuch od klienta do serwera.

Konfiguracja przez Gradle (Android)

groovy
dependencies {
    // Główny moduł SDK i RUM
    implementation "com.datadoghq:dd-sdk-android-core:2.15.0"
    implementation "com.datadoghq:dd-sdk-android-rum:2.15.0"
    // Integracja z OkHttp do automatycznego śledzenia
    implementation "com.datadoghq:dd-sdk-android-okhttp:2.15.0"
    // NDK crash reporting
    implementation "com.datadoghq:dd-sdk-android-ndk:2.15.0"
}

Inicjalizacja na iOS (Swift)

swift
import DatadogCore
import DatadogRUM
import DatadogLogs

@main class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        Datadog.initialize(
            with: DatadogConfiguration.builder(
                clientToken: "your_client_token",
                environment: "production"
            ).build()
        )
        RUM.enable(
            with: RUMConfiguration(applicationID: "your_rum_app_id")
        )
        return true
    }
}

Dashboards i powiadomienia Datadog

Datadog udostępnia graficzny edytor dashboardów, w którym można łączyć wykresy metryk, tabele logów, treemap rozkładu błędów i widżety SLO. Dashboards obsługują zmienne szablonów - na przykład można stworzyć jeden dashboard dla wszystkich serwisów i przełączać kontekst przez listę rozwijaną z nazwą serwisu. Każdy dashboard można opublikować w trybie tylko do odczytu dla zewnętrznych interesariuszy przez publiczny link.

System Monitors (powiadomień) pozwala ustawić warunki progowe dla dowolnej metryki: jeśli latencja przekracza 500 ms dłużej niż 5 minut - wyślij powiadomienie do Slack, PagerDuty lub e-mailem. Datadog obsługuje złożone warunki: "Jeśli błędy 5xx > 1% i liczba żądań > 1000/min, podnieś priorytet do krytycznego". Dla zespołów mobilnych szczególnie przydatny jest monitor regression detection - Datadog automatycznie porównuje bieżącą metrykę z historyczną linią bazową i powiadamia przy statystycznie istotnym pogorszeniu.

Według danych Gartner Peer Insights (2024), średni czas rozwiązania alertu (MTTR) u zespołów używających monitorów Datadog z automatyczną korelacją spada o 35% w pierwszym miesiącu po wdrożeniu. Osiąga się to dzięki temu, że każde powiadomienie zawiera nie tylko warunek uruchomienia, ale także link do powiązanych dashboardów, logów i trace'y - programista nie musi przełączać się między narzędziami.

Często zadawane pytania

Czym Datadog różni się od alternatyw?

Datadog wyróżnia się jednolitą platformą łączącą metryki, logi, trace'e i RUM w jednym interfejsie. W przeciwieństwie do Grafana + Prometheus (tylko metryki) lub ELK (tylko logi), Datadog zapewnia wbudowaną korelację między wszystkimi typami danych bez konieczności ręcznej konfiguracji integracji.

Ile kosztuje Datadog dla projektów mobilnych?

Koszt zaczyna się od 1 dolara za 10 000 sesji RUM miesięcznie. Dla małych projektów z 50 000 sesji miesięcznie wydatki wyniosą około 5 dolarów. APM i logi są rozliczane osobno. Dla startupów dostępny jest program Datadog for Startups z kredytami do 100 000 dolarów na pierwszy rok.

Jakie platformy obsługuje mobilny SDK?

Datadog SDK obsługuje Android (API 21+, Kotlin i Java), iOS (iOS 13+, Swift i Objective-C) oraz React Native. Dla Flutter i Xamarin dostępne są integracje społecznościowe. SDK jest dystrybuowany przez Maven Central, CocoaPods i Swift Package Manager.

Jak Datadog przetwarza dane osobowe?

Datadog udostępnia Data Scrubbing - automatyczne usuwanie PII z logów i danych RUM. Można skonfigurować reguły maskowania: zastępować e-mail, telefon i karty kredytowe hashem lub gwiazdkami. Dane są szyfrowane podczas transmisji (TLS 1.3) i przechowywania (AES-256).

Czy można używać Datadog tylko do logowania?

Tak, można podłączyć tylko moduł Logs bez APM i RUM. W tym przypadku płaci się tylko za wolumen logów. Datadog rozlicza każdy produkt osobno, co pozwala zacząć od jednego modułu i dodawać kolejne w miarę potrzeb bez ponownej integracji.

Podsumowanie

  • Datadog to jednolita platforma obserwowalności z APM, logami, metrykami i RUM w jednym interfejsie.
  • APM z distributed tracing pokazuje pełną ścieżkę każdego żądania przez system rozproszony.
  • RUM SDK dla Android i iOS automatycznie zbiera metryki wydajności z rzeczywistych urządzeń użytkowników.
  • Integracja Datadog w projekcie mobilnym zajmuje 1-2 dni przez Gradle lub CocoaPods.
  • Monitory systemowe z automatyczną korelacją logów, metryk i trace'y skracają MTTR o 35%.
  • Service Map automatycznie buduje graf zależności między serwisami i podświetla problematyczne węzły.
  • Data Scrubbing zapewnia ochronę danych osobowych zgodnie z RODO i SOC 2.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również