Sentry adalah aplikasi error tracking free dan open-source yang dapat digunakan untuk mengidentifikasi masalah secara real-time. Dalam tutorial ini, kami akan menjelaskan cara menginstal Sentry with Docker di server Ubuntu 18.04.

Persyaratan

  • Server Ubuntu 18.04 dengan RAM 4 GB.
  • Masuk sebagai root atau user dengan hak sudo

Langkah Awal

Sebelum memulai, disarankan untuk memperbarui sistem dengan versi terbaru. Anda dapat melakukannya dengan perintah berikut:

sudo apt-get update && sudo apt-get upgrade -y

Setelah sistem diperbarui, restart untuk menerapkan semua perubahan.

Install Docker CE

Selanjutnya, Anda harus menginstal versi terbaru Docker CE (Community Edition) pada sistem Anda. Secara default, versi terbaru Docker tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan repositori secara manual.

Pertama, instal paket yang diperlukan dengan perintah apt berikut:

sudo apt-get install curl git build-essential apt-transport-https ca-certificates curl software-properties-common -y

Selanjutnya, download dan tambahkan GPG key dengan perintah berikut:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

Selanjutnya, tambahkan repositori Docker CE dengan perintah berikut:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

Selanjutnya,  update repositori dan instal Docker CE dengan perintah berikut:

apt-get update -y
 apt-get install docker-ce -y

Setelah Docker diinstal, Anda dapat memeriksa status Docker dengan perintah berikut:

systemctl status docker

Anda akan melihat output berikut:

? docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-07-03 12:34:40 UTC; 22s ago
     Docs: https://docs.docker.com
 Main PID: 4683 (dockerd)
    Tasks: 8
   CGroup: /system.slice/docker.service
           ??4683 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.685945390Z" level=warning msg="Your kernel does not support swap memory lim
Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.686904854Z" level=warning msg="Your kernel does not support cgroup rt perio
Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.687422213Z" level=warning msg="Your kernel does not support cgroup rt runti
Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.697386605Z" level=info msg="Loading containers: start."
Jul 03 12:34:38 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:38.896641657Z" level=info msg="Default bridge (docker0) is assigned with an IP
Jul 03 12:34:39 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:39.508555810Z" level=info msg="Loading containers: done."
Jul 03 12:34:39 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:39.939899550Z" level=info msg="Docker daemon" commit=2d0083d graphdriver(s)=ov
Jul 03 12:34:39 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:39.947534196Z" level=info msg="Daemon has completed initialization"
Jul 03 12:34:40 ubuntu1804 systemd[1]: Started Docker Application Container Engine.
Jul 03 12:34:40 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:40.230411944Z" level=info msg="API listen on /var/run/docker.sock"

Install Sentry

Pertama, Anda harus download versi terbaru sentry dari repositori Github. Anda dapat mengunduhnya dengan perintah berikut:

git clone https://github.com/getsentry/onpremise

Setelah download selesai, Anda akan melihat output berikut:

Cloning into 'onpremise'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 228 (delta 3), reused 6 (delta 2), pack-reused 215
Receiving objects: 100% (228/228), 55.14 KiB | 275.00 KiB/s, done.
Resolving deltas: 100% (106/106), done.

Selanjutnya, buat custom image lokal dengan perintah berikut:

cd ~/onpremise
 make build

Selanjutnya, Anda harus membuat skrip sentry service. Buka text editor nano dengan nama sentry_service.sh :

nano sentry_services.sh

Tambahkan baris berikut:

#! /bin/bash
clear
docker run --detach --name sentry-redis redis:3.2-alpine
docker run --detach  --name sentry-postgres --env POSTGRES_PASSWORD=secret --env POSTGRES_USER=sentry postgres:9.5
docker run  --detach  --name sentry-smtp tianon/exim4
docker run --rm sentry-onpremise --help
docker run --rm sentry-onpremise config generate-secret-key

Simpan dan tutup file ketika Anda selesai. Kemudian, jalankan skrip dengan perintah berikut:

. sentry_services.sh

Anda akan melihat output berikut:

0k234ow&i+k#rjkkcdfeo*n=45=tyua8)51li8)cdgtyd6e(2wa

Selanjutnya, Anda perlu menyimpan kunci di atas dalam variabel SENTRY_SECRET_KEY. Anda dapat melakukan ini dengan perintah berikut:

echo 'export SENTRY_SECRET_KEY="0k234ow&i+k#rjkkcdfeo*n=45=tyua8)51li8)cdgtyd6e(2wa"' >> ~/.bashrc
source ~/.bashrc

Selanjutnya, mulai proses migrasi dengan perintah berikut:

docker run --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} --rm -it sentry-onpremise upgrade

Setelah proses migrasi selesai dengan sukses, jalankan aplikasi Sentry dengan perintah berikut:

docker run --detach --name sentry-web-01 --publish 9000:9000 --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} sentry-onpremise run web

Selanjutnya, jalankan workers di latar belakang dengan perintah berikut:

docker run --detach --name sentry-worker-01 --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} sentry-onpremise run worker

Selanjutnya, mulai proses cron dengan perintah berikut:

docker run --detach --name sentry-cron --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} sentry-onpremise run cron

Sentry sekarang dikonfigurasi dan listens pada port 9000. Anda dapat mengakses antarmuka web Sentry dengan mengunjungi URL http://serverip:9000.

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi Sentry with Docker di server Ubuntu 18.04.