ix
ix

informatix

EN version Porozmawiajmy o projekcie
Strona główna / Blog / Laravel Pulse i Telescope — monitoring aplikacji [2026]
• 8 min czytania •

Laravel Pulse i Telescope — monitoring aplikacji [2026]

Horizon odpowiada „co robią kolejki", Pulse „jak czuje się aplikacja", a Telescope „co się stało w tym żądaniu". Kompletny przewodnik: karty Pulse, bezpieczeństwo Telescope na produkcji i minimalny zestaw monitoringowy.

Laravel ma trzy narzędzia monitoringu — Horizon, Pulse i Telescope — i najczęstszy błąd to traktowanie ich zamiennie. Każde odpowiada na inne pytanie: Horizon na „co robią moje kolejki?", Pulse na „jak czuje się cała aplikacja?", Telescope na „co się stało w tym konkretnym żądaniu?". Ten poradnik pokazuje, co włączyć na produkcji, co zostawić lokalnie i jak nie zabić serwera monitoringiem.

Najważniejsze: Najważniejsze — na produkcji zostają Horizon (panel operacyjny kolejek na Redisie) i Pulse (lekki health-check całej aplikacji: serwer, wolne zapytania, wyjątki, cache, kolejki). Telescope jest zbyt ciężki na produkcję — zapisuje każde żądanie i każde zapytanie SQL; włączaj go lokalnie albo na staging, gdy debugujesz konkretny problem.

Trzy narzędzia, trzy pytania

Narzędzie Pytanie, na które odpowiada Dane zbierane Gdzie działa
Laravel Horizon Co robią moje kolejki? Przepustowość, czasy oczekiwania, failed jobs, stan workerów, metryki per kolejka Produkcja (wymaga Redis)
Laravel Pulse Jak czuje się aplikacja? CPU/RAM serwera, wolne zapytania, wolne endpointy, wyjątki, użycie cache, kolejki, zewnętrzne API Produkcja (dane w bazie)
Laravel Telescope Co się stało w tym żądaniu? Pełny log: żądania, zapytania SQL, maile, notyfikacje, zadania, wyjątki, cache Lokalnie / staging

Trzy narzędzia się nie wykluczają — uzupełniają. Horizon to panel operacyjny (codzienna praca z kolejkami), Pulse to tablica zdrowia (coś zwalnia — gdzie?), Telescope to mikroskop (to konkretne żądanie zachowało się dziwnie — dlaczego?).

Laravel Horizon — panel operacyjny kolejek

Horizon znasz z poradnika o kolejkach — tu tylko przypomnienie roli w monitoringu: dashboard z przepustowością i czasami oczekiwania, historia metryk, lista failed jobs z ponawianiem jednym kliknięciem i alerty przy przekroczeniu progów waits. Horizon wymaga Redisa i sterownika kolejek redis — nie działa z database ani SQS.

W kontekście monitoringu najważniejsze są dwie rzeczy

  • waits — progi czasu oczekiwania, po których Horizon wysyła alert (Slack, mail, webhook). Ustaw realistycznie: 60 s dla default, 120 s dla kolejek wsadowych.
  • Przepustowość vs. napływ — wykres, który pokazuje, czy workery nadążają. Jeśli napływ zadań rośnie szybciej niż przepustowość, dołóż procesy (albo popraw wydajność zadań), zanim kolejka zapcha się na dobre.

Laravel Pulse — tablica zdrowia aplikacji

Pulse to odpowiedź Laravela na New Relic i Sentry w wersji „dla aplikacji Laravel". Instalacja

composer require laravel/pulse
php artisan vendor:publish --provider="Laravel\Pulse\PulseServiceProvider"
php artisan migrate

Dane trafiają do bazy (tabele pulse_*) i są agregowane przez komendę php artisan pulse:check, którą uruchamia się w tle (pulse:work pod Supervisorem) albo przez cron. Dashboard dostępny jest pod /pulse, chroniony bramką viewPulse — na produkcji bezwzględnie za logowaniem.

Karty, które faktycznie się przydają na produkcji

Karta Pulse Co pokazuje Kiedy ratuje życie
Slow queries Zapytania SQL powyżej progu z czasem i miejscem wywołania Aplikacja zwalnia po wdrożeniu — od razu widać które zapytanie
Slow requests Endpointy z najwyższym czasem odpowiedzi „Strona główna działa wolno" → konkretna trasa i czas
Exceptions Wyjątki zgrupowane po typie Ciche błędy w tle, których nikt nie zgłosił
Queues Rozmiar kolejek i przepustowość Uzupełnia Horizon dla sterowników innych niż Redis
Servers CPU i pamięć serwera Zanim monitoring zewnętrzny zauważy, Pulse pokazuje trend
Cache Hit ratio i operacje Spadek hit ratio = cache przestał działać
Slow outgoing requests Wolne wywołania zewnętrznych API Partner zwalnia — widzisz to u siebie

Zaleta Pulse nad rozwiązaniami zewnętrznymi: zero dodatkowej infrastruktury (dane w twojej bazie), pełna integracja z ekosystemem (kolejki, cache, scheduler) i dane, które nie wychodzą z serwera. Ograniczenie: nie zastąpi APM-a z alertami i tracingiem na skalę enterprise — dla większości aplikacji biznesowych jest jednak w zupełności wystarczający.

Laravel Telescope — mikroskop, nie monitoring

Telescope zapisuje wszystko: każde żądanie HTTP, każde zapytanie SQL, każdy mail, notyfikację, zadanie w kolejce, wyjątek i operację cache. To jego siła i przekleństwo:

composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate

Uwaga: Telescope na produkcji potrafi wygenerować dziesiątki tysięcy wpisów dziennie, znacząco obciążać bazę i zapisywać dane wrażliwe (payloady żądań, treści maili, dane sesji). Jeśli musisz mieć go na produkcji — ogranicz przez Telescope::filter(), włącz pruning (telescope:prune --hours=48 w schedulerze) i trzymaj dashboard za silnym logowaniem. Domyślnie: tylko lokalnie.

Kiedy Telescope jest niezastąpiony: debugujesz konkretne żądanie (co dokładnie poszło do bazy i z jakim wynikiem?), analizujesz, dlaczego mail nie wyszedł, śledzisz kolejność zdarzeń w błędzie. Wtedy otwierasz Telescope, znajdujesz wpis i widzisz pełny kontekst — czego Horizon ani Pulse nie pokażą.

Które narzędzie kiedy — drzewko decyzyjne

Sytuacja Narzędzie
„Kolejka rośnie / zadania się nie wykonują" Horizon
„Nie wiem, czy workery nadążają" Horizon (przepustowość)
„Aplikacja zwalnia, nie wiem gdzie" Pulse (slow queries, slow requests)
„Coś rzuca wyjątki w tle" Pulse (exceptions)
„Serwer ma wysokie CPU" Pulse (servers)
„To konkretne żądanie zwróciło dziwne dane" Telescope (lokalnie)
„Mail nie dotarł, co poszło?" Telescope (maile)
„Partner API odpowiada wolno" Pulse (slow outgoing) + Horizon (czasy zadań)

Konfiguracja produkcyjna — minimalny zestaw

Zestaw, który wdrażamy w projektach

  1. Horizon pod Supervisorem (jeden proces), dashboard za bramką viewHorizon, alerty waits na Slacka.
  2. Pulse z pulse:check w tle i pruningiem w schedulerze (pulse:prune), dashboard za bramką viewPulse.
  3. Telescope tylko lokalnie (--dev), z pruningiem gdy używany intensywnie.

Do tego zewnętrzny uptime monitoring (Better Stack, UptimeRobot) na najważniejsze endpointy — bo żadne z trzech narzędzi nie powiadomi, że aplikacja w ogóle nie odpowiada. Pulse i Horizon odpowiadają na pytanie „co się dzieje w środku", uptime monitoring na „czy w ogóle działa".

Najczęściej zadawane pytania

Czy Laravel Pulse zastępuje Horizon?

Nie — uzupełnia go. Pulse pokazuje rozmiar kolejek i przepustowość w ujęciu ogólnym (działa też dla sterowników innych niż Redis), ale nie ma operacyjnego panelu Horizon: zarządzania workerami, podglądu failed jobs z ponawianiem, autoskalowania i alertów per kolejka. Horizon = kolejki, Pulse = cała aplikacja.

Czy Telescope można włączyć na produkcji?

Technicznie tak, ale domyślnie nie należy. Telescope zapisuje każde żądanie i zapytanie SQL — generuje duże obciążenie bazy i zbiera dane wrażliwe. Jeśli musi działać na produkcji: ogranicz filtry (Telescope::filter()), włącz automatyczne czyszczenie (telescope:prune) i zabezpiecz dashboard logowaniem. Standardowo: Telescope tylko lokalnie i na staging.

Jak monitorować kolejki bez Redisa (sterownik database lub SQS)?

Pulse pokazuje rozmiar i przepustowość kolejek dla dowolnego sterownika. Do alertów użyj php artisan queue:monitor redis:default --max=100 (działa też dla innych kolejek) w cronie albo zewnętrznego monitoringu. Horizon w tym układzie nie zadziała — wymaga Redisa.

Gdzie są przechowywane dane Pulse?

W twojej bazie danych, w tabelach pulse_* (agregaty per karta). Dane nie wychodzą z serwera — to jedna z głównych zalet nad zewnętrznymi APM-ami. Pamiętaj o czyszczeniu danych (pulse:prune w schedulerze), żeby tabele nie rosły w nieskończoność, oraz o włączeniu zapisu w konfiguracji.

Ile kosztuje wdrożenie monitoringu w projekcie?

Horizon to element standardu kolejek (wliczony we wdrożenie kolejek — 2 000–10 000 zł przy istniejącym projekcie). Pulse: instalacja i konfiguracja to 2–4 godziny pracy plus drobne zmiany w konfiguracji serwera. Telescope lokalnie: kilkanaście minut. Największy koszt to zwykle nie instalacja, a wybór progów alertów i podłączenie powiadomień.


👉 Aplikacja zwalnia, a nie wiesz gdzie?

Kolejki rosną, a nikt nie dostaje alertu? Wdrożymy Horizon i Pulse razem z alertami. Opisz projekt na kontakt@informatix.com.pl lub przez formularz — wycena jest bezpłatna.

📖 Zobacz również: Kolejki w Laravel i Laravel Horizon — poradnik, Supervisor i systemd dla kolejek Laravel, optymalizacja wydajności aplikacji Laravel oraz usługa Laravel development.

Darmowy PDF

Checklista wymagań do wyceny aplikacji

12 pytań kontrolnych, które warto przygotować przed rozmową z wykonawcą — szybsza wycena, mniej ukrytych kosztów.

Powiązane wpisy

09.10.2026

Laravel Horizon i kolejki w Laravel — kompletny poradnik [2026]

Kolejki w Laravel przenoszą ciężkie operacje poza cykl żądania HTTP, a Laravel Horizon daje monitoring i autoskalowanie workerów. Kompletny poradnik: wybór sterownika, konfiguracja produkcyjna, retry i idempotencja, testy, koszty wdrożenia.

Czytaj dalej