Я написал статью в конце прошлого годаПростой и полный опыт работы с сервисом sourcemap от sentry, полностью зависит от уровня использования.Поскольку есть необходимость построить часовой самостоятельно, разберитесь в процессе строительства
Версия
8.22.0 Обратитесь к выпуску github
Как построить
Официально рекомендуемый метод — использовать Docker, здесь мы используем Docker в качестве примера.
Предварительная подготовка
- docker Загрузка с официального сайта Внутреннее облако
- docker-compose github Внутреннее облако
На daocloud есть туториалы, проверьте сами
$ docker --version
Docker version 18.05.0-ce, build f150324
$ docker-compose --version
docker-compose version 1.21.2, build a133471
Строительные шаги
Вытащитьonpremise
onpremise — это официальная программа начальной загрузки, которая содержит все зависимости, необходимые для построения сентри.
$ git clone https://github.com/getsentry/onpremise.git
Перейдите в локальную среду и создайте новую локальную базу данных и каталог конфигурации sentry.
$ cd onpremise
$ mkdir -p data/{sentry,postgres}
Это нужно объяснить, я не выполнил этот шаг в начале, хотя программа создаст эти каталоги для нас в процессе сборки, однако произошел ряд последующих проблем с вылетом, таких какThere was an error loading data
, также будет связано с этим.
генерироватьsecret key
$ docker-compose run --rm web config generate-secret-key
Это выведет в терминал
Starting onpremise_redis_1 ... done
Starting onpremise_postgres_1 ... done
Starting onpremise_memcached_1 ... done
xxx+5%xxxxxxx!!xxxxxxxx&6(xxxxxxx%xoml)xxxxxxxxxx
Скопируйте ключ (т.е. последнюю строку) в docker-compose.ymlSENTRY_SECRET_KEY
соответствующее значение
Обновите конфигурацию и создайте Super User
$ docker-compose run --rm web upgrade
Нормально, появится терминал
...
Would you like to create a user account now...
...
Просто печатай нормально
При развёртывании на linux-машину была ситуация, когда этот шаг вообще не выполнялся, поэтому я решил начать всё заново, к счастью, на этом проблема остановилась.
Конфигурация почты
В отличии от Китая, многие приложения поддерживают способ регистрации с выбором одной почты и мобильного телефона, а sentry, без функции почты, как бы кастрирован и бесполезен.
В локальном корневом каталоге находится файл конфигурации config.yml, который определяет некоторые общие настройки, включая метод настройки почты.
# Use dummy if you want to disable email entirely
mail.backend: 'smtp'
mail.host: 'smtp.qq.com'
mail.port: 587
mail.username: '123@qq.com'
# 邮箱授权码, 非邮箱密码
mail.password: '123'
mail.use-tls: true
# The email address to send on behalf of
mail.from: '123@qq.com'
# 请保持与域名严格一致
mail.list-namespace: 'sentry.yourdomain.com'
Кроме вышеперечисленных примечаний, есть:
- Сначала я попробовал почтовый ящик 163, но я не мог отправлять электронные письма, и он показывал тайм-аут, поэтому я переключился на QQ, но не знаю почему.
- Максимально используйте номер порта при использовании почтового ящика QQ.
587
, При использовании 465 будут какие-то странные проблемы. Sentry поддерживает только tls вместо ssh, поэтому попробуйте изменить порт на 587
запустить службу
$ docker-compose up -d
Если не случайно, то все нормально, порт по умолчанию9000
, локальные слова можно открывать напрямуюlocalhost:9000
доступ
Настройте http(s) с помощью nginx
Также на официальном сайтеСвязанные инструкции
Настройте https, чтобы не игнорировать модификацию конца документаsentry.conf.py
import os
import os.path
# 添加变量
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
Опубликуйте мою конфигурацию nginx для https
sentry.conf
server {
listen 80;
server_name sentry.yourdomain.com www.sentry.yourdomain.com;
location / {
if ($request_method = GET) {
rewrite ^ https://$host$request_uri? permanent;
}
return 405;
}
access_log /home/wwwlogs/sentry_yourdomain.log main;
}
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/yourdomain.crt;
ssl_certificate_key /etc/nginx/ssl/yourdomain.key;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect off;
# keepalive + raven.js is a disaster
keepalive_timeout 0;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://localhost:9000;
add_header Strict-Transport-Security "max-age=31536000";
}
access_log /home/wwwlogs/sentry_yourdomain.log main;
}
Доступ и настройка
Войти с учетной записью суперпользователяВ первый раз вам необходимо настроить корневой URL-адрес и другую информацию, где корневой URL-адрес заполненhttps://sentry.yourdomain.com
Хорошо, не заполняйте что-то вродеhttps://sentry.yourdomain.com/
Это кажется недружественным для таких операций, как переходы по щелчку мыши из электронной почты.
Подтвердить электронную почту
Для внутреннего использования внутри команды можно использовать механизм приглашения по электронной почте!!!!
В сочетании со статьями стали вводитьПростой и полный опыт работы с сервисом sourcemap от sentry, вы можете испытать острые ощущения от сборки и использования часового самостоятельно !!!!