Вступление
Sentry - это решение с открытым исходным кодом для отслеживания ошибок. Sentry отслеживает исключения и другие полезные сообщения от приложений, которые традиционно записываются в файлы журналов, и вместо этого использует удобный интерфейс.
Предпосылки
Установка
Обновите список индексов пакетов:
sudo apt-get update
Установите пакет инструментов разработки:
sudo apt-get install build-essential -y
Клон гетсентри / onpremise из источника:
git clone https://github.com/getsentry/onpremise
Войдите в onpremiseпапку и создайте локальный пользовательский образ:
cd ~/onpremise
sudo make build
Создайте скрипт с именем sentry_services.sh:
sudo nano sentry_services.sh
Добавьте следующие команды терминала в sentry_services.shфайл скрипта:
#! /bin/bash
clear
sudo docker run \
 --detach \
 --name sentry-redis \
 redis:3.2-alpine
sudo docker run \
 --detach \
 --name sentry-postgres \
 --env POSTGRES_PASSWORD=secret \
 --env POSTGRES_USER=sentry \
postgres:9.5
sudo docker run \
  --detach \
  --name sentry-smtp \
  tianon/exim4
sudo docker run \
  --rm sentry-onpremise \
  --help
sudo docker run \
  --rm sentry-onpremise \
  config generate-secret-key
Сохраните и выйдите, затем выполните скрипт:
. sentry_services.sh
Выход исполняемого скрипта будет генерировать ключ , который мы должны будем сохранить в переменной окружения называется: SENTRY_SECRET_KEY. Мы также должны сохранить это в ~/.bashrcфайле, так что если истекает время сеанса SSH, и мы должны войти снова, наша SENTRY_SECRET_KEYпеременная всегда получает одно и то же значение:
echo 'export SENTRY_SECRET_KEY="_secret_key_here_"' >> ~/.bashrc
source ~/.bashrc
echo $SENTRY_SECRET_KEY
Запустите миграции:
sudo 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 как веб-сервис:
sudo 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
Запустите фоновые рабочие:
sudo 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:
sudo 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локально. Визит http://you_server_ip:9000.