Selasa, 07 Agustus 2018

Monitoring aplikasi dengan Sentry.io dan di integrasikan dengan Slack

Dalam membuat sebuah aplikasi yang kompleks dan dengan dikerjakan secara bersama-sama oleh tim. Tentu membuat pekerjaan kita menjadi lebih ringan. Namun, bukan berarti menjadi lebih mudah. Benar bukan?

Nah, pada tulisan kali ini saya tidak membahas bagaimana cara membuat aplikasi lebih mudah, namun yang kita bahas adalah membuat kinerja kita menjadi maksimal. Banyak cara yang bisa dilakukan untuk memaksimalkan kinerja kita untuk membuat aplikasi yang berkualitas. Salah satunya yaitu melakukan Functional Testing, Unit Testing, Monitoring App, dan lain sebagainya.

Dari sekian banyaknya pembahasan untuk membuat aplikasi yang berkualitas, disini saya akan memberikan tutorial cara pemasangan Sentry pada aplikasi kita agar dapat di monitoring secara berkala dan memberikan laporan bug secara realtime.

Baiklah, berikut langkah-langkah yang harus kalian ikuti untuk pemasangan sentry.io.


1. Membuat akun sentry.io

Buatlah akun sentry.io terlebih dahulu untuk memulai pemasangan ke aplikasi kita. Sentry.io ada versi gratis dan juga berbayar. Nah, kalian tidak perlu khawatir untuk ditagih dalam 30 hari kemudian atau yang lebih dikenal dengan versi trial. Karena, sentry.io ada versi free (gratis) hanya saja untuk fitur-fitur tertentu kita harus upgrade account. Silahkan lakukan pendaftaran akun pada link berikut disini.



2. Membuat project baru

Buatlah project baru untuk kalian install di aplikasi web yang ingin di monitoring. Tekan tombol di pojok kanan dan pilih Project seperti gambar berikut.


Setelah itu kalian akan diminta untuk memilih salah satu framework yang dipakai. Dalam kasus ini saya memilih Laravel sebagai framework yang dipakai. Saya sesuaikan dengan framework yang digunakan dalam pembuatan aplikasi web. Selanjutnya, pada langkah kedua berilah nama project yang akan digunakan.



3. Instalasi sentry.io ke project laravel app

Pada tahap ini kalian diminta untuk memasang konfigurasi sentry.io kedalam aplikasi kalian dengan menggunakan Framework Laravel. Perlu diperhatikan untuk melakukan konfigurasi ini harus di sesuaikan dengan versi laravel yang digunakan. Untuk dokumentasi lengkapnya bisa kalian baca disini.
Atau anda bisa mengikuti langkah-langkah konfigurasi seperti berikut ini :

Laravel 5.x
Install package sentry/sentry-laravel :

$ composer require sentry/sentry-laravel


Jika anda menggunakan Laravel versi 5.4 atau dibawahnya. Anda harus menambahkan kode dibawah ini pada file config/app.php (Untuk Laravel versi 5.5+ kode dibawah ini akan di discovered secara otomatis).

'providers' => array(
    // ...
    Sentry\SentryLaravel\SentryLaravelServiceProvider::class,
)

'aliases' => array(
    // ...
    'Sentry' => Sentry\SentryLaravel\SentryFacade::class,
)



Tulislah kode untuk sentry reporting pada App/Exceptions/Handler.php :

public function report(Exception $exception)
{
    if (app()->bound('sentry') && $this->shouldReport($exception)) {
        app('sentry')->captureException($exception);
    }

    parent::report($exception);
}


Buatlah konfigurasi file dengan perintah di terminal seperti berikut (config/sentry.php) :

$ php artisan vendor:publish --provider="Sentry\SentryLaravel\SentryLaravelServiceProvider"


Tambahkan Sentry DSN pada file .env :

SENTRY_LARAVEL_DSN=https://a7dda7c9bef343a5b16148ce73cadd0b@sentry.io/xxxx501


Apabila anda menggunakan versi yang lain untuk Laravel Framework anda bisa membaca detailnya disini.

4. Integrasi dengan slack

Untuk memonitoring aplikasi kita di workspace, khususnya slack yang sering kita gunakan dalam bekerja bersama tim, ini merupakan hal sangat membantu kinerja kita. Nah, untuk mengaktifkan integrasi dengan slack adalah anda masuk ke menu Setting - Alert, lalu dibagian bawah anda akan disuguhkan tampilan board Inactive Integrations. Pilihlah slack untuk mengaktifkan integrasi slack dengan sentry.

Setelah itu anda akan di arahkan ke form ini :



  • Webhook URL anda bisa mendapatkannya melalui link disini. Saya tidak akan menjelaskan bagaimana caranya membuat webhook karena pemabahasannya terlalu panjang. Bila ada pertanyaan silahkan ajukan di kolom komentar.
  • Bot Name silahkan di sesuaikan dengan yang anda inginkan.
  • Icon URL bersifat opsional, gunanya untuk menampilkan profile photo di slack nanti ketika memberikan notifikasi.
  • Destionation itu adalah alamat yang ingin di tuju. Apabila ingin di mention ke tim bisa menggunakan #nama_group atau di mention ke personal menggunakan @nama_user.
Nah. Pada tahap integrasi dengan slack telah selesai. Anda bisa melakukan test dengan menekan tombol Test Plugin.

Pemasangan sentry.io telah selesai dan yayy..... Selamat mengerjakan aplikasi tanpa khawatir bug tersembunyi. Silahkan makan snack dan ngopi sepuasnya.... Jangan lupa komen dan share artikel ini. thank you guys.....

0 comments:

Posting Komentar