news
Serverspace добавил возможность подключения S3 к сервису CDN
DN
28 сентября 2023
Обновлено 29 сентября 2023

Как установить Sentry с Docker на Ubuntu

Docker Ubuntu

Что такое Sentry

При разработке приложения на каком-либо языке программирования очень часто появляются ошибки, влияющие на корректность его работы. Отдельные ошибки могут заметно влиять на производительность, что в итоге сказывается на качестве оказываемого сервиса.

Имеющиеся инструменты тестирования помогают находить многие ошибки до выхода релиза. После релиза ошибки можно найти в логах работы самого приложения, при этом на поиск нужных сообщений иногда затрачивается много времени. Сбор логов в единую систему сокращает это время. И анализ собранных логов часто начинается только после получения сообщений от пользователей приложения об ошибках, хотя в тестовых и предпродуктовых окружениях этих ошибок не было.

Sentry дает возможность оперативно узнавать о проблемах и сбоях (в том числе на стороне пользователя), выполнять диагностику работы приложения. Система анализирует код для выявления мест, требующих исправления. Также, предоставляет данные мониторинга для повышения производительности. Умеет определять наличие конфиденциальных данных в коде (пароли, ключи, номера банковских карт и др.), и выполнять их очистку.

Поддерживаются многие популярные языки программирования (JavaScript, Python, Go, Kotlin, Ruby) и фреймворки. Имеет большое количество интеграций с современными сервисами: GitHub, GitLab, Jira, Slack, Asana, Trello и др.

Sentry доступен в виде сервиса с ежемесячной оплатой. Также, это open source приложение, которое можно установить, например, на виртуальный сервер с ОС Ubuntu в облаке Serverspace, и далее будет описан процесс установки.

Системные требования

  • Docker 19.03.6;
  • Compose 2.0.1+;
  • 4 CPU Cores;
  • 8 GB RAM;
  • 20 GB Free Disk Space.

Это минимальные требования к CPU, RAM и объему диска. При росте проекта потребуется их увеличение.

Процесс установки

Sentry – составное приложение, собрано из некоторого количества Docker образов: само приложение, различные СУБД, сервисы кеширования, web сервер и др. Поэтому имеется три этапа:

  • Установить системные пакеты;
  • Установить пакеты для Docker;
  • Скачать весь набор образов, и запустить контейнеры.

Перед установкой требуется обновить кеш для apt:

sudo apt update

Далее установить системные пакеты:

sudo apt install ca-certificates curl gnupg

Свежие версии Docker доступны в репозитории разработчика, рекомендуется импортировать соответствующий GPG ключ:

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Создать новую запись для репозитория, чтобы он стал доступен:

sudo echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Обновить кеш для apt после добавления репозитория:

sudo apt update

Установить пакеты Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose docker-compose-plugin

Проверить запущен ли сервис Docker:

sudo systemctl status docker.service

В выводе статус сервиса должен быть «active (running)»:

статус сервиса docker

Если статус «inactive (dead)», то запустить его:

sudo systemctl start docker.service

Далее можно переходить к установке Sentry. Для этого – клонировать GitHub репозиторий:

git clone https://github.com/getsentry/self-hosted.git

В результате, в домашней директории пользователя будет создан каталог «self-hosted» с необходимым содержимым, среди которого скрипт «install.sh» для установки Sentry. Чтобы его запустить требуется перейти в созданный каталог:

cd self-hosted

Запустить скрипт:

sudo ./install.sh

В процессе установки появится запрос на сбор и отправку данных о работе установленного экземпляра Sentry:

запрос на отправку данных

Необходимо самостоятельно определить отправлять данные или нет, и ввести «y» или «n» исходя из решения. Также, будет предложено создать пользователя – для этого ввести при запросе произвольные логин и пароль. Этот пользователь будет использован после установки для входа в веб-интерфейс. После этого будет выполнено скачивание необходимого ПО для работы Sentry – это займет какое-то время. Фактически, на сервер загрузятся несколько Docker образов (Memcached, nginx, redis, postgres и др.), которые используются для запуска соответствующих контейнеров. Эти образы прописаны в файле docker-compose.yml – с его помощью запускается вся система. Для этого, находясь в каталоге «self-hosted» (в который были первоначально загружены файлы) выполнить команду:

sudo docker-compose up -d

Запуск всех контейнеров займет какое-то время, после чего веб-интерфейс системы будет доступен на 9000 порту. Для его открытия ввести в браузере IP сервера и порт в виде http://ip_address:9000, после чего откроется начальная страница для входа:

Начальная страница

Необходимо залогиниться с логином и паролем, заданными при запуске скрипта установки. Если по какой-либо причине пользователь создан не был, то его можно создать командой:

sudo docker-compose run --rm web createuser

В процессе ввести нужный адрес email в поле «Email» и пароль два раза в «Password» и «Repeat for confirmation». При запросе добавить ли нового пользователя в администраторы системы («Should this user be a superuser?») ответить «y».

Создание пользователя

После введения логина и пароля появится страница «Welcome to Sentry», на которой можно оставить имеющиеся значения без изменений:

Страница Welcome

Эти настройки доступны в административном разделе системы если возникнет необходимость их поменять. Далее откроется основной интерфейс системы:

Главная страница

Это значит, что Sentry успешно установлен, и можно переходить к настройке и использованию.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...