Tutorial

Tutorial Monitoring Aplikasi Laravel dan API

IT Musafir · 10 Jul 2026 · 6 views
Tutorial Monitoring Aplikasi Laravel dan API

Ringkasan Singkat

Monitoring aplikasi Laravel dan API membantu tim mendeteksi error, penurunan performa, kegagalan job, serta masalah endpoint sebelum berdampak besar ke pengguna. Tutorial ini membahas langkah praktis untuk menyiapkan logging, health check, queue monitoring, exception tracking, metrik performa, dan uptime monitoring pada aplikasi Laravel.

Prasyarat

  • Aplikasi Laravel sudah berjalan di lokal, staging, atau production.
  • Akses ke terminal dan file konfigurasi Laravel.
  • PHP, Composer, database, dan web server sudah terpasang.
  • Akses ke environment variable melalui file .env atau secret manager.
  • Opsional: akun layanan monitoring seperti Sentry, Bugsnag, New Relic, Grafana, Prometheus, atau UptimeRobot.

Langkah-Langkah Monitoring Aplikasi Laravel dan API

  1. Aktifkan Logging Laravel dengan Benar

    Pastikan Laravel menyimpan log aplikasi secara konsisten. Buka file .env dan atur channel log sesuai kebutuhan.

    LOG_CHANNEL=stack

    LOG_LEVEL=error

    Untuk production, gunakan level error atau warning agar log tidak terlalu ramai. Untuk staging, Anda dapat memakai debug jika sedang melakukan investigasi.

  2. Gunakan Struktur Log yang Mudah Dianalisis

    Tambahkan konteks saat menulis log, terutama untuk API request, user ID, order ID, atau nama service eksternal.

    Log::error('Payment gateway failed', ['user_id' => $user->id, 'order_id' => $order->id]);

    Struktur ini memudahkan pencarian masalah saat aplikasi Laravel menangani banyak request.

  3. Pasang Exception Tracking

    Gunakan layanan exception tracking seperti Sentry atau Bugsnag untuk menangkap error production secara otomatis. Contoh instalasi Sentry:

    composer require sentry/sentry-laravel

    Lalu publish konfigurasi:

    php artisan sentry:publish --dsn=DSN_ANDA

    Tambahkan DSN ke file .env:

    SENTRY_LARAVEL_DSN=https://[email protected]/project-id

    Dengan exception tracking, Anda bisa melihat stack trace, frekuensi error, environment, dan request yang menyebabkan masalah.

  4. Buat Endpoint Health Check untuk API

    Tambahkan endpoint sederhana untuk memeriksa status aplikasi, database, cache, dan queue. Contoh route:

    Route::get('/health', function () { DB::select('select 1'); return response()->json(['status' => 'ok']); });

    Endpoint ini dapat dipantau oleh load balancer, uptime monitor, atau pipeline deployment.

  5. Monitor Response Time API

    Response time API adalah metrik penting untuk mengetahui performa aplikasi. Anda dapat mencatat durasi request melalui middleware khusus.

    Buat middleware yang menghitung waktu mulai dan selesai request, lalu simpan ke log atau sistem metrik.

    $duration = microtime(true) - LARAVEL_START;

    Prioritaskan endpoint penting seperti login, checkout, payment callback, pencarian, dan endpoint integrasi pihak ketiga.

  6. Gunakan Laravel Telescope untuk Development dan Staging

    Laravel Telescope berguna untuk memantau request, query database, job, mail, notification, exception, dan cache saat development atau staging.

    composer require laravel/telescope --dev

    php artisan telescope:install

    php artisan migrate

    Hindari mengaktifkan Telescope secara terbuka di production karena dapat menyimpan data sensitif dan menambah beban aplikasi.

  7. Monitor Queue dan Job Laravel

    Jika aplikasi menggunakan queue, pastikan job yang gagal dapat terdeteksi. Jalankan migrasi failed jobs jika belum tersedia.

    php artisan queue:failed-table

    php artisan migrate

    Gunakan perintah berikut untuk melihat job gagal:

    php artisan queue:failed

    Untuk production, gunakan Laravel Horizon jika memakai Redis queue.

    composer require laravel/horizon

    php artisan horizon:install

    Horizon membantu memantau throughput, runtime, retry, dan status worker queue.

  8. Aktifkan Uptime Monitoring

    Gunakan layanan uptime monitoring untuk mengecek endpoint publik seperti halaman utama dan /health. Atur interval pengecekan sesuai kebutuhan, misalnya setiap 1 sampai 5 menit.

    Pastikan notifikasi dikirim ke email, Slack, Telegram, Microsoft Teams, atau kanal incident response yang digunakan tim.

  9. Pantau Database dan Query Lambat

    Query lambat sering menjadi penyebab API terasa berat. Pada Laravel, Anda dapat memakai listener untuk mendeteksi query yang melebihi ambang batas tertentu.

    DB::listen(function ($query) { if ($query->time > 500) { Log::warning('Slow query detected', ['sql' => $query->sql, 'time_ms' => $query->time]); } });

    Simpan informasi query lambat agar tim dapat melakukan optimasi index, pagination, eager loading, atau caching.

  10. Monitor Integrasi API Eksternal

    Jika aplikasi Laravel memanggil API pihak ketiga, catat status code, durasi request, timeout, dan jumlah kegagalan.

    Gunakan timeout eksplisit saat memakai HTTP client Laravel.

    Http::timeout(10)->get('https://api.example.com/data');

    Tambahkan retry secara hati-hati untuk error sementara.

    Http::retry(3, 200)->timeout(10)->get('https://api.example.com/data');

  11. Siapkan Alert yang Relevan

    Alert harus fokus pada masalah yang benar-benar membutuhkan tindakan. Contoh alert penting adalah error rate meningkat, response time API melewati batas, queue menumpuk, database tidak bisa diakses, disk hampir penuh, dan endpoint health check gagal.

    Hindari alert terlalu banyak karena dapat membuat tim mengabaikan notifikasi penting.

  12. Buat Dashboard Monitoring

    Gunakan dashboard untuk melihat metrik utama dalam satu tempat. Metrik yang sebaiknya ditampilkan meliputi uptime, error rate, latency API, request per minute, CPU, memory, database connection, queue length, dan failed jobs.

    Dashboard dapat dibuat menggunakan Grafana, New Relic, Datadog, Kibana, atau layanan observability lain yang sesuai dengan stack Anda.

Tips Monitoring Laravel dan API

  • Gunakan environment berbeda untuk development, staging, dan production.
  • Jangan menyimpan token, password, atau data sensitif di log.
  • Tentukan SLA atau target performa API sejak awal.
  • Gunakan correlation ID untuk melacak request lintas service.
  • Tambahkan rate limiting pada endpoint API penting.
  • Pastikan worker queue diawasi oleh Supervisor, systemd, atau platform orchestration.
  • Uji alert secara berkala agar tidak hanya aktif di konfigurasi.
  • Dokumentasikan prosedur incident response untuk error production.

Penutup

Monitoring aplikasi Laravel dan API bukan hanya soal mencatat error, tetapi juga memahami kesehatan sistem secara menyeluruh. Dengan logging yang rapi, exception tracking, health check, queue monitoring, uptime monitoring, dan dashboard metrik, tim dapat mendeteksi masalah lebih cepat dan menjaga pengalaman pengguna tetap stabil.

Format gambar: JPG, PNG, GIF, WebP. Maksimal 5MB.

Artikel Terbaru

DENRAMA Support

Online via WhatsApp

Halo, butuh konsultasi IT, produk, billing, service, atau integrasi? Kirim pesan ke tim DenRama dan kami bantu arahkan dari sana.
Konsultasi layanan dan produk
Support teknis dan penjadwalan
Estimasi kebutuhan proyek
Chat via WhatsApp