Menggunakan Sentry Untuk Monitoring dan Error Tracking di Laravel 8
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. ✍
Table of Contents
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
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.
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.
Kemudian, isi nama, organization, klik checkbox "I agree to Terms of Service and the Privacy Policy" dan klik Continue.
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.
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
- Cara Mengatasi Error XAMPP: MySQL shutdown unexpectedly 23 Oktober 2021 65579 views
- Laravel 8: REST API Authentication dengan Sanctum 17 September 2021 31644 views
- Tutorial CRUD (Create, Read, Update & Delete) Codeigniter 4 dengan Bootstrap 14 Oktober 2021 29582 views
- Membuat REST API CRUD di Laravel 8 dengan Sanctum 18 September 2021 28216 views
- Contoh Cara Menggunakan Sweet Alert di Laravel 8 27 Agustus 2021 27270 views