Sentry foutopsporingssysteem te installeren met Docker op Ubuntu 18.04 LTS

Sentry is een gratis en open-source foutopsporingsprogramma dat gebruikt kan worden om problemen in real-time te identificeren. In deze tutorial leggen we uit hoe je Sentry met Docker installeert op Ubuntu 18.04 server.

Vereisten

  • Een server waarop Ubuntu 18.04 draait met 4 GB RAM.
  • Op je server is een root-wachtwoord geconfigureerd.

Aan de slag

Voordat je begint, is het raadzaam om je systeem bij te werken met de nieuwste versie. Je kunt dat doen met het volgende commando:

apt-get update -y
apt-get upgrade -y

Zodra het systeem is bijgewerkt, herstart je het om alle wijzigingen toe te passen.

Docker CE installeren

Vervolgens moet je de nieuwste versie van Docker CE op je systeem installeren. Standaard is de nieuwste versie van Docker niet beschikbaar in de standaard repository van Ubuntu 18.04. Je zult dus de repository daarvoor moeten toevoegen.

Installeer eerst de benodigde pakketten met het volgende commando:

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

Download vervolgens de GPG-sleutel en voeg deze toe met het volgende commando:

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

Voeg vervolgens de Docker CE repository toe met het volgende commando:

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

Werk vervolgens de repository bij en installeer Docker CE met het volgende commando:

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

Zodra de Docker is geïnstalleerd, kun je de status van Docker controleren met het volgende commando:

systemctl status docker

Je zou de volgende uitvoer moeten zien:

? 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"

Sentry installeren

Eerst moet je de nieuwste versie van sentry downloaden van de Github repository. Je kunt het downloaden met het volgende commando:

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

Zodra de download is voltooid, zou je de volgende uitvoer moeten zien:

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.

Bouw vervolgens de lokale aangepaste image met het volgende commando:

cd ~/onpremise
make build

Vervolgens moet je een sentry service script maken. Je kunt het maken met het volgende commando:

nano sentry_services.sh

Voeg de volgende regels toe:

#! /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

Sla het bestand op en sluit het als je klaar bent. Voer het script vervolgens uit met het volgende commando:

. sentry_services.sh

Je zou de volgende uitvoer moeten zien:

0kvhow&i+k#rjkkc0wvo*n=45=uuua8)51li8)cdjuld6e(2wa

Vervolgens moet je de bovenstaande sleutel opslaan in de variabele SENTRY_SECRET_KEY. Dit kun je doen met het volgende commando:

echo 'export SENTRY_SECRET_KEY="0kvhow&i+k#rjkkc0wvo*n=45=uuua8)51li8)cdjuld6e(2wa"' >> ~/.bashrc
source ~/.bashrc

Start vervolgens het migratieproces met het volgende commando:

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

Zodra het migratieproces succesvol is afgerond, start je de Sentry app met het volgende commando:

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

Start vervolgens de achtergrondwerkers met het volgende commando:

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

Start vervolgens het cron proces met het volgende commando:

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 is nu geconfigureerd en luistert op poort 9000. Je hebt toegang tot de webinterface van Sentry door de URL http://yourserverip:9000 te bezoeken .

Gefeliciteerd! Je hebt Sentry met succes geïnstalleerd en geconfigureerd met Docker op Ubuntu 18.04 server.