Установка Sentry — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 49: | Строка 49: | ||
Правим конфиги<br> | Правим конфиги<br> | ||
− | /etc/sentry/config.yml< | + | /etc/sentry/config.yml<spoiler> |
− | + | # While a lot of configuration in Sentry can be changed via the UI, for all | |
+ | # new-style config (as of 8.0) you can also declare values here in this file | ||
+ | # to enforce defaults or to ensure they cannot be changed via the UI. For more | ||
+ | # information see the Sentry documentation. | ||
+ | |||
+ | ############### | ||
+ | # Mail Server # | ||
+ | ############### | ||
+ | |||
mail.backend: 'smtp' # Use dummy if you want to disable email entirely | mail.backend: 'smtp' # Use dummy if you want to disable email entirely | ||
# mail.host: 'localhost' | # mail.host: 'localhost' | ||
Строка 59: | Строка 67: | ||
# The email address to send on behalf of | # The email address to send on behalf of | ||
mail.from: 'sentry@encry.ru' | mail.from: 'sentry@encry.ru' | ||
+ | |||
+ | # If you'd like to configure email replies, enable this. | ||
+ | # mail.enable-replies: false | ||
+ | |||
+ | # When email-replies are enabled, this value is used in the Reply-To header | ||
+ | # mail.reply-hostname: '' | ||
+ | |||
+ | # If you're using mailgun for inbound mail, set your API key and configure a | ||
+ | # route to forward to /api/hooks/mailgun/inbound/ | ||
+ | # mail.mailgun-api-key: '' | ||
+ | |||
+ | ################### | ||
+ | # System Settings # | ||
+ | ################### | ||
+ | |||
+ | # If this file ever becomes compromised, it's important to regenerate your a new key | ||
+ | # Changing this value will result in all current sessions being invalidated. | ||
+ | # A new key can be generated with `$ sentry config generate-secret-key` | ||
+ | system.secret-key: 'e)_e)t+^t3x3(q!ljx@^d2f(_%bgyc^ck-jjf#)o8(t!_@t+%3' | ||
+ | |||
+ | # The ``redis.clusters`` setting is used, unsurprisingly, to configure Redis | ||
+ | # clusters. These clusters can be then referred to by name when configuring | ||
+ | # backends such as the cache, digests, or TSDB backend. | ||
+ | # | ||
+ | # Two types of clusters are currently supported: | ||
+ | # | ||
+ | # rb.Cluster | ||
+ | # A redis blaster cluster is the traditional cluster used by most services | ||
+ | # within sentry. This is the default type cluster type. | ||
+ | # | ||
+ | # rediscluster.StrictRedisCluster | ||
+ | # An official Redis Cluster can be configured by marking the named group with | ||
+ | # the ``is_redis_cluster: True`` flag. In future versions of Sentry more | ||
+ | # services will require this type of cluster. | ||
+ | # | ||
+ | redis.clusters: | ||
+ | default: | ||
+ | hosts: | ||
+ | 0: | ||
+ | host: 127.0.0.1 | ||
+ | port: 6379 | ||
+ | |||
+ | ################ | ||
+ | # File storage # | ||
+ | ################ | ||
+ | |||
+ | # Uploaded media uses these `filestore` settings. The available | ||
+ | # backends are: `filesystem`, `gcs`, and `s3`. | ||
+ | |||
+ | filestore.backend: 'filesystem' | ||
+ | filestore.options: | ||
+ | location: '/tmp/sentry-files' | ||
+ | |||
+ | # NOTE: See docs/filestore for instructions on configuring the shell environment | ||
+ | # with authentication credentials for Google Cloud. | ||
+ | # filestore.backend: 'gcs' | ||
+ | # filestore.options: | ||
+ | # bucket_name: 's3-bucket-name' | ||
+ | |||
+ | # filestore.backend: 's3' | ||
+ | # filestore.options: | ||
+ | # access_key: 'AKIXXXXXX' | ||
+ | # secret_key: 'XXXXXXX' | ||
+ | # bucket_name: 's3-bucket-name' | ||
+ | |||
+ | system.url-prefix: 'http://sentry.megapuper.ru' | ||
</spoiler> | </spoiler> | ||
+ | /etc/sentry/sentry.conf.py<spoiler> | ||
− | / | + | </spoiler> |
− | |||
==== | ==== |
Версия 13:29, 19 января 2019
Ставим Sentry 9.0.0 на Debian Stretch
1. Установим нужные пакеты
# apt install python python-setuptools python-pip python-dev libxslt1-dev libjpeg-dev libxml2-dev libpq-dev libffi-dev gcc libxslt-dev libyaml-dev
2. Nginx
# apt install nginx
Правим конфиг /etc/nginx/sites-available/sentry.conf
server { listen 80; server_name sentry.megapuper.ru; location / { proxy_pass http://localhost:9000; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
3. Postgresql
# apt install postgresql
Создаём БД
# cd /tmp/ /tmp # su postgres postgres@sentry01:/tmp$ psql CREATE DATABASE sentry encoding utf8; CREATE USER sentry WITH password 'PASS_FOR_USER_sentry'; GRANT ALL privileges ON DATABASE sentry TO sentry; \q
4. Redis
# apt install redis-server
5. Устанавливаем Sentry
# pip install -U virtualenv # virtualenv /srv/www/sentry/ # source /srv/www/sentry/bin/activate (sentry)# pip install -U sentry (sentry)# sentry init /etc/sentry
Правим конфиги
/etc/sentry/config.ymlSpoiler
/etc/sentry/sentry.conf.pySpoiler
Содержание
==
если во время sentry upgrade будет падать с ошибкой django.db.utils.ProgrammingError: ProgrammingError('permission denied to create extension "citext"\nHINT: Must be superuser to create this extension.\n',) перед тем как запускать sentry update, временно дадим sentry права суперюзера, потом заберём
==
su postgresql psql alter role sentry superuser;
SENTRY_CONF=/etc/sentry sentry upgrade
alter role sentry nosuperuser;
Заводим пользователя
# useradd -u 20005 -s /bin/bash -m -d /home/sentry sentry # chown -R sentry:sentry /srv/www/sentry
6. Supervisor
# apt install supervisor
/etc/supervisor/conf.d/sentry.conf [program:sentry-web] environment=SENTRY_CONF="/etc/sentry/" directory=/srv/www/sentry/ command=/srv/www/sentry/bin/sentry run web autostart=true autorestart=true redirect_stderr=true user=sentry
[program:sentry-worker] environment=SENTRY_CONF="/etc/sentry/" directory=/srv/www/sentry/ command=/srv/www/sentry/bin/sentry run worker autostart=true autorestart=true redirect_stderr=true user=sentry
[program:sentry-cron] environment=SENTRY_CONF="/etc/sentry/" directory=/srv/www/sentry/ command=/srv/www/sentry/bin/sentry run cron autostart=true autorestart=true redirect_stderr=true killasgroup=true
==================================
https://docs.sentry.io/server/installation/python/ https://docs.sentry.io/server/nginx/ https://docs.sentry.io/server/warnings/
==================================
подключение плагина redmine (https://github.com/getsentry/sentry-redmine) pip install sentry-redmine в настройках проекта, в пункте integrations появляется redmine, конфигурим его
если плагин не подтягивается из-за конфликта версий Failed to load plugin 'redmine': ---cut--- ContextualVersionConflict: (redis 2.10.5 (/srv/www/sentry/lib/python2.7/site-packages), Requirement.parse('redis==2.10.6'), set(['redis-py-cluster'])) грохаем redis-py-cluster и ставим версию 1.3.4 pip uninstall redis-py-cluster pip install redis-py-cluster==1.3.4 pip install sentry-redmine рестартим supervisor-web
https://github.com/getsentry/sentry-redmine/issues/16