Поиск по сайту:

Как установить систему отслеживания ошибок Sentry с помощью Docker в Ubuntu 18.04 LTS


На этой странице

  1. Требования
  2. Начало работы
  3. Установите Docker CE
  4. Установить стражу

Sentry — это бесплатное приложение для отслеживания ошибок с открытым исходным кодом, которое можно использовать для выявления проблем в режиме реального времени. В этом руководстве мы объясним, как установить Sentry с Docker на сервер Ubuntu 18.04.

Требования

  • Сервер под управлением Ubuntu 18.04 с 4 ГБ ОЗУ.
  • На вашем сервере настроен пароль root.

Начиная

Перед запуском рекомендуется обновить вашу систему до последней версии. Вы можете сделать это с помощью следующей команды:

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

После обновления системы перезапустите ее, чтобы применить все изменения.

Установите Докер СЕ

Затем вам нужно будет установить последнюю версию Docker CE в вашей системе. По умолчанию последняя версия Docker недоступна в стандартном репозитории Ubuntu 18.04. Поэтому вам нужно будет добавить репозиторий для этого.

Сначала установите необходимые пакеты с помощью следующей команды:

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

Затем загрузите и добавьте ключ GPG с помощью следующей команды:

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

Затем добавьте репозиторий Docker CE с помощью следующей команды:

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

Затем обновите репозиторий и установите Docker CE с помощью следующей команды:

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

После установки Docker вы можете проверить статус Docker с помощью следующей команды:

systemctl status docker

Вы должны увидеть следующий вывод:

? 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 из репозитория Github. Вы можете скачать его с помощью следующей команды:

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

После завершения загрузки вы должны увидеть следующий вывод:

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.

Затем создайте локальный пользовательский образ с помощью следующей команды:

cd ~/onpremise
make build

Далее вам нужно будет создать сценарий службы часового. Вы можете создать его с помощью следующей команды:

nano sentry_services.sh

Добавьте следующие строки:

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

Сохраните и закройте файл, когда закончите. Затем запустите скрипт с помощью следующей команды:

. sentry_services.sh

Вы должны увидеть следующий вывод:

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

Далее вам нужно будет сохранить указанный выше ключ в переменной SENTRY_SECRET_KEY. Вы можете сделать это с помощью следующей команды:

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

Затем запустите процесс миграции с помощью следующей команды:

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

После успешного завершения процесса миграции запустите приложение Sentry с помощью следующей команды:

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

Затем запустите фоновых рабочих с помощью следующей команды:

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

Затем запустите процесс cron с помощью следующей команды:

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 настроен и прослушивает порт 9000. Вы можете получить доступ к веб-интерфейсу Sentry, посетив URL-адрес http://yourserverip:9000.

Поздравляем! вы успешно установили и настроили Sentry с Docker на сервере Ubuntu 18.04.