Como instalar o sistema de rastreamento de erros Sentry com Docker no Ubuntu 18.04 LTS
Nesta página
- Requisitos
- Primeiros passos
- Instalar o Docker CE
- Instalar Sentinela
O Sentry é um aplicativo de rastreamento de erros gratuito e de código aberto que pode ser usado para identificar problemas em tempo real. Neste tutorial, explicaremos como instalar o Sentry com Docker no servidor Ubuntu 18.04.
Requisitos
- Um servidor rodando Ubuntu 18.04 com 4 GB de RAM.
- Uma senha root está configurada em seu servidor.
Começando
Antes de começar, é recomendável atualizar seu sistema com a versão mais recente. Você pode fazer isso com o seguinte comando:
apt-get update -y
apt-get upgrade -y
Assim que o sistema estiver atualizado, reinicie-o para aplicar todas as alterações.
Instalar o Docker CE
Em seguida, você precisará instalar a versão mais recente do Docker CE em seu sistema. Por padrão, a versão mais recente do Docker não está disponível no repositório padrão do Ubuntu 18.04. Então você precisará adicionar o repositório para isso.
Primeiro, instale os pacotes necessários com o seguinte comando:
apt-get install curl git build-essential apt-transport-https ca-certificates curl software-properties-common -y
Em seguida, baixe e adicione a chave GPG com o seguinte comando:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
Em seguida, adicione o repositório Docker CE com o seguinte comando:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Em seguida, atualize o repositório e instale o Docker CE com o seguinte comando:
apt-get update -y
apt-get install docker-ce -y
Após a instalação do Docker, você pode verificar o status do Docker com o seguinte comando:
systemctl status docker
Você deve ver a seguinte saída:
? 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"
Instalar Sentinela
Primeiro, você precisará baixar a versão mais recente do sentry do repositório Github. Você pode baixá-lo com o seguinte comando:
git clone https://github.com/getsentry/onpremise
Depois que o download for concluído, você deverá ver a seguinte saída:
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.
Em seguida, crie a imagem personalizada local com o seguinte comando:
cd ~/onpremise
make build
Em seguida, você precisará criar um script de serviço sentinela. Você pode criá-lo com o seguinte comando:
nano sentry_services.sh
Adicione as seguintes linhas:
#! /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
Salve e feche o arquivo, quando terminar. Em seguida, execute o script com o seguinte comando:
. sentry_services.sh
Você deve ver a seguinte saída:
0kvhow&i+k#rjkkc0wvo*n=45=uuua8)51li8)cdjuld6e(2wa
Em seguida, você precisará armazenar a chave acima na variável SENTRY_SECRET_KEY. Você pode fazer isso com o seguinte comando:
echo 'export SENTRY_SECRET_KEY="0kvhow&i+k#rjkkc0wvo*n=45=uuua8)51li8)cdjuld6e(2wa"' >> ~/.bashrc
source ~/.bashrc
Em seguida, inicie o processo de migração com o seguinte comando:
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
Depois que o processo de migração for concluído com sucesso, inicie o aplicativo Sentry com o seguinte comando:
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
Em seguida, inicie os trabalhadores em segundo plano com o seguinte comando:
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
Em seguida, inicie o processo cron com o seguinte comando:
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
O Sentry agora está configurado e escuta na porta 9000. Você pode acessar a interface da web do Sentry visitando o URL http://yourserverip:9000.
Parabéns! você instalou e configurou com sucesso o Sentry com Docker no servidor Ubuntu 18.04.