Menggunakan Sentry Untuk Monitoring dan Error Tracking di Laravel 8

Menggunakan Sentry Untuk Monitoring dan Error Tracking di Laravel 8

Admin
Admin・ 7 Oktober 2021
6 min read ・ 1653 views

Sentry Laravel 8 - Setiap dalam masa proses development suatu sistem dan sampai sistem tersebut digunakan secara public (production), pasti tak lepas dari proses application monitoring atau pemantauan sistem tersebut untuk menghindari dari hal-hal yang tidak diinginkan seperti bug atau error. Jika sistem kita dibuat dengan Laravel, ada software atau platform yang sangat membantu dalam proses monitoring. Layanan yang dimaksud tersebut adalah sentry.

Apa itu Sentry ?

Sentry lebih dari software untuk monitoring error. Sentry juga merupakan software yang dapat digunakan untuk performance monitoring. Platform Sentry dapat membantu developer dalam mendiagnosis, memperbaiki dan mengoptimalkan kenerja kode yang telah dibuat. Dengan Sentry, developer dapat menghemat waktu dan energi. Saat ini, Sentry mendukung lebih dari 30 bahasa pemrograman seperti PHP, Go, Python, Javascript dan masih banyak lagi.

Dan di artikel ini, saya akan share bagaimana cara untuk menggunakan Sentry untuk monitoring dan error tracking di Laravel 8. ✍

Menggunakan Sentry di Laravel 8

Baiklah, setelah sedikit berkenalan dengan Sentry, sekarang waktunya kita untuk implementasi atau menggunakan sentry untuk monitoring aplikasi atau error tracking di Laravel 8. Untuk implementasi menggunakan sentry di Laravel 8, mari kita awali dari awal yaitu dengan mendaftar akun baru di Sentry.io kemudian menginstall Laravel terbaru.

Step 1: Daftar Sentry

Sign up Sentry

Ok, pada langkah pertama ini, kita awali dengan membuat akun Sentry dengan mengunjungi website resminya atau bisa klik disini. Untuk mendaftar akun baru di sentry, terdapat beberapa pilihan seperti daftar dengan email, akun Google, Github atau dengan Azure DevOps.

create sentry account

Sebagai contoh, disini saya mendaftar akun sentry menggunakan akun google. Nanti akan muncul atau tampil halaman seperti gambar di atas. Di langkah ini, kita bisa klik button New Account.

create sentry account

Kemudian, isi nama, organization, klik checkbox "I agree to Terms of Service and the Privacy Policy" dan klik Continue.

integrate sentry laravel

Kemudian, pilih platform project yang ingin diintegrasikan dengan sentry. Karena di artikel ini kita akan mengintegrasikan dengan laravel, jadi di step ini kita bisa pilih laravel kemudian klik button Create Project.

Setelah klik Create Project, nanti akan diarahkan ke halaman onboarding.

Step 2: Install Laravel

//via Laravel Installer
composer global require laravel/installer
laravel new laravel-sentry

//via Composer
composer create-project laravel/laravel laravel-sentry

Oke, setelah berhasil mendaftar akun sentry, mari kita lanjutkan dengan menginstall laravel yang nantinya kita integrasikan dengan sentry untuk mengetahui atau monitoring atau error tracking. Untuk installasi laravel bisa menggunakan laravel installer atau menggunakan composer seperti contoh di atas.

Silahkan memilih salah satu cara yang ingin digunakan untuk installasi laravel. Dari kedua contoh perintah installasi laravel di atas, akan sama-sama menghasilkan atau generate laravel project dengan nama laravel-sentry.

Jika sudah berhasil install laravel, jangan lupa masuk ke direktori laravel project tersebut dengan perintah cd laravel-sentry.

Step 3: Install Sentry-Laravel Package

composer require sentry/sentry-laravel

Jalankan perintah composer seperti di atas untuk menginstall setry-laravel package di laravel project yang baru saja kita install.

Step 4: Tambahkan Sentry Reporting

 public function register()
    {
        $this->reportable(function (Throwable $e) {
            if (app()->bound('sentry') && $this->shouldReport($e)) {
            app('sentry')->captureException($e);
            }
    
            parent::report($e);
        });
    }

Buka file yang ada di App/Exceptions/Handler.php, kemudian pada function register tambahkan kode sentry reporting. Sehingga function register di file tersebut akan menjadi seperti kode di atas.

Step 5: Setup Sentry

php artisan sentry:publish --dsn=https://aa17ad6a62d1409bb41d81a233b65@o1030163.ingest.sentry.io/5997394

Kemudian di langkah selanjutnya yaitu setup sentry di laravel dengan menjalankan perintah seperti di atas. *Perintah di atas, didapatkan saat mendaftar dan create project sentry pada langkah awal tadi.

Jika perintah di atas dijalankan, maka akan membuat file config/sentry.php dan menambahkan DNS di file .env seperti di bawah ini.

SENTRY_LARAVEL_DSN=https://aa17ad6a62d1409bb41d81a233b@o1030163.ingest.sentry.io/5997394
SENTRY_TRACES_SAMPLE_RATE=1

Testing

Oke, setelah melalui proses-proses mulai dari daftar akun sentry, create sentry project, install laravel sampai dengan integrasi sentry di laravel, dan sekarang waktunya untuk uji coba.

Route::get('/debug-sentry', function () {
    throw new Exception('My first Sentry error!');
});

Buka file routes/web.php, kemudian tambahkan route baru dengan kode seperti di atas. Jika sudah ditambahkan, sekarang coba jalankan laravel project dengan perintah php artisan serve.

Kemudian buka laravel project di browser dengan mengakses URL laravel-sentry.test/debug-sentry atau 127.0.0.1:8000/debug-sentry.

setry laravel

Sekarang coba buka halaman issue di akun sentry masing-masing, maka akan ada issue baru seperti gambar di atas. Jika sudah muncul atau tampil seperti gambar di atas, artinya sentry sudah berhasil diintegrasikan di laravel dan kita sudah bisa memonitoring sistem atau project kita untuk melakukan performance monitoring atau error tracking.

Kesimpulan

Sampai diujung artikel ini, kita telah berhasil mengintegrasikan sentry di laravel 8 untuk melakukan performance monitoring atau error tracking. Dengan sentry, kita dapat dengan mudah mengetahui performa dari sistem kita atau dapat juga dengan mengetahui jika ada bug atau error pada sistem.

Sekian artikel kali ini, semoga artikel ini bisa bermanfaat, sampai jumpa di artikel berikutnya dan Happy Coding. 👨‍💻 🚀

 

💻 Full Documentation: Sentry for Laravel

Tinggalkan Komentar
Loading Comments