🔭 Laravel Telescope: Monitorowanie aplikacji w praktyce

Ten przewodnik pokazuje, jak skonfigurować i wykorzystać Laravel Telescope do monitorowania aplikacji.

📋 Spis treści

Laravel Telescope to potężne narzędzie do debugowania i monitorowania aplikacji Laravel. Ten przewodnik pokaże Ci, jak wykorzystać Telescope do efektywnego debugowania, monitorowania wydajności i śledzenia błędów w Twojej aplikacji.

Wprowadzenie

Laravel Telescope to nieocenione narzędzie w procesie debugowania i monitorowania aplikacji Laravel. Ułatwia identyfikowanie błędów, analizę wydajności oraz kontrolę działania systemu w czasie rzeczywistym lub z perspektywy historii zdarzeń.

Laravel Telescope to oficjalne narzędzie do debugowania frameworka Laravel, stworzone przez zespół Laravel. Umożliwia monitorowanie różnych aspektów działania aplikacji, takich jak zapytania SQL, żądania HTTP, obsługa wyjątków, operacje kolejek i wiele innych.

W przeciwieństwie do Laravel Debugbar, który działa w czasie rzeczywistym w przeglądarce, Telescope oferuje dedykowany interfejs webowy z historią operacji, umożliwiając głębszą analizę i diagnostykę problemów po ich wystąpieniu.

Instalacja

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

Zaleca się instalację Telescope jako zależności deweloperskiej (--dev), ponieważ nie powinno być używane w środowiskach produkcyjnych ze względu na kwestie wydajności i bezpieczeństwa.

Podstawowa konfiguracja

Po instalacji plik config/telescope.php zawiera wszystkie ustawienia Telescope:

<?php

return [
    'path' => 'telescope',
    'enabled' => env('TELESCOPE_ENABLED', true),
    'storage' => [
        'database' => [
            'connection' => env('DB_CONNECTION', 'mysql'),
            'chunk' => 1000,
        ],
    ],
    'hours' => 24,
    'watchers' => [
        // ...
    ],
];

Kontrola Dostępu do Panelu Telescope

Domyślnie Telescope jest dostępne tylko w środowisku lokalnym. Aby umożliwić dostęp w innych środowiskach, zmodyfikuj metodę gate w pliku TelescopeServiceProvider.php:

protected function gate()
{
    Gate::define('viewTelescope', function ($user) {
        return in_array($user->email, [
            '[email protected]',
            '[email protected]'
        ]);
    });
}

Najważniejsze funkcje

  1. Monitorowanie Żądań HTTP

    • Rejestruje wszystkie przychodzące żądania HTTP wraz ze szczegółami:
      • URL, Metoda HTTP, Parametry, Nagłówki, Kod odpowiedzi, Czas wykonania
  2. Monitorowanie Zapytania do Bazy Danych

    • Loguje wszystkie zapytania SQL:
      • Pełne zapytanie SQL, Parametry, Czas wykonania
    $users = DB::table('users')->where('active', true)->orderBy('created_at', 'desc')->get();
    
  3. Monitorowanie Wyjątków

    • Automatycznie zapisuje wszystkie wyjątki z typem, trace, lokalizacją, kontekstem
  4. Monitorowanie Operacji Cache

    • Śledzi operacje get/set/forget
    Cache::put('user_profile', $userProfile, 3600);
    $profile = Cache::get('user_profile');
    
  5. Monitorowanie Zadań Kolejki

    • Rejestruje zlecone i wykonane zadania kolejki
    ProcessPodcast::dispatch($podcast)->onQueue('podcasts');
    
  6. Monitorowanie Logów

    • Wszystkie wpisy logów
    Log::info('User logged in', ['user_id' => $user->id]);
    
  7. Monitorowanie Powiadomień

    • Śledzi powiadomienia z typem, kanałem, statusem
  8. Monitorowanie Zdarzeń

    • Śledzi eventy, ładunek i listenerów
    event(new UserRegistered($user));
    
  9. Monitorowanie Modeli Eloquent

    • Hydratacja, serializacja, operacje kolekcji
  10. Monitorowanie Poleceń Artisan

    • Rejestruje wszystkie komendy, czas, opcje

Bezpieczeństwo

Podsumowanie

Laravel Telescope to niezbędne narzędzie dla każdego developera Laravel, oferujące:

  • Kompleksowe monitorowanie aplikacji
  • Szczegółowe śledzenie żądań i zapytań
  • Efektywne debugowanie błędów
  • Integrację z Dockerem
  • Zaawansowane funkcje bezpieczeństwa

Śledź mnie na LinkedIn, aby otrzymywać więcej wskazówek o Laravel i DevOps!

Czy chciałbyś dowiedzieć się więcej o debugowaniu i monitorowaniu aplikacji Laravel? Daj znać w komentarzach poniżej!

Komentarze (0)
Zostaw komentarz

© 2025 Wszelkie prawa zastrzeżone.