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.