ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’

ื•ื•ืขื›ื˜ืขืจ - ืึท ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืื•ื™ืกื ืขืžืขืŸ ืื•ืŸ ืขืจืจืึธืจืก ืื™ืŸ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

ืฉืœื™ืกืœ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ:

  • ืœื™ื™ื›ื˜ ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ ืื™ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜,
  • ืงืึทื˜ืฉืึทื– ืขืจืจืึธืจืก ื‘ื™ื™ื“ืข ืื™ืŸ ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ 'ืก ื‘ืœืขื˜ืขืจืขืจ ืื•ืŸ ืื•ื™ืฃ ื“ื™ื™ืŸ ืกืขืจื•ื•ืขืจ.
  • ืคืจื™ื™ึท,
  • ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ืขืจืจืึธืจืก ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜,
  • ืื•ื™ื‘ ื“ืขืจ ื˜ืขื•ืช ืื™ื– ื’ืขื•ื•ืขืŸ ืื ื’ืขืฆื™ื™ื›ื ื˜ ื•ื•ื™ ืจื™ื–ืึทืœื•ื•ื“ ืื•ืŸ ืื•ื™ืก ื•ื•ื™ื“ืขืจ, ืขืก ืื™ื– ื‘ืืฉืืคืŸ ื•ื•ื™ื“ืขืจ ืื•ืŸ ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคืึธื“ืขื,
  • ืขืจืจืึธืจืก ื–ืขื ืขืŸ ื’ืจื•ืคึผื˜ ืื•ืŸ ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ืกื“ืจ ืคื•ืŸ ืึธืคื˜ืงื™ื™ึทื˜ ืคื•ืŸ ืคึผืึทืกื™ืจื•ื ื’,
  • ืขืจืจืึธืจืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคื™ืœื˜ืขืจื“ ื“ื•ืจืš ืกื˜ืึทื˜ื•ืก, ืœืึธื’ื™ื ื’ ืžืงื•ืจ, ืœืึธื’ื™ื ื’ ืžื“ืจื’ื”, ืกืขืจื•ื•ืขืจ ื ืึธืžืขืŸ, ืขื˜ืง.

ืคืึทืจื’ืœื™ื™ึทืš ืžื™ื˜ ELK ืœืึธื’ืก: ื“ื™ ืžืขืจืกื˜ ื•ื•ื™ื›ื˜ื™ืง ื–ืึทืš ืื™ื– ืึทื– ืื™ืŸ ELK, ื™ืขื“ืขืจ ื ื™ื™ึท ืงืœืึธืฅ ืคื•ืŸ ื“ื™ ื–ืขืœื‘ืข ื˜ื™ืคึผ ืื™ื– ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืึธื–ื™ืฆื™ืข. ืื•ืŸ ืื™ืŸ ื•ื•ืขื›ื˜ืขืจ, ื™ืขื“ืขืจ ื ื™ื™ึท ื•ื™ืกื ืขื ืคื•ืŸ ื“ื™ ื–ืขืœื‘ืข ื˜ื™ืคึผ ืื™ื– ื ืึธืจ + 1 ืฆื• ื“ื™ ืฆื™ื™ืœืŸ ืคื•ืŸ ื–ื™ื™ึทืŸ ืจืขืงืึธืจื“

ืกืขื ื˜ืจื™ ืฉื˜ื™ืฆื˜ ืจื•ื‘ึฟ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ. ืžืขืจ ื“ืขื˜ืืœืŸ ื“ืึธ.

ืคืœื™ืกื ื“ื™ืง ืกืขื ื˜ืจื™ ืžื™ื˜ ื“ืึธืงืงืขืจ ืื•ืŸ ื“ืึธืงืงืขืจ-ืงืึธืžืคึผืึธืกืข

ืื™ืจ ืงืขื ืขืŸ ืœื•ื™ืคืŸ Sentry ื ื™ืฆืŸ ื“ืึธืงืงืขืจ ืื•ืŸ docker-compose ื•ื•ื™ ื“ื™ืกืงืจื™ื™ื‘ื“ ื“ืึธ: https://github.com/getsentry/onpremise. ืึธื‘ืขืจ ื“ืขืจ ืฉืจื™ืคื˜ ืœืึธื ื˜ืฉื˜ ื ืึธืš ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ื™ืฃ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืกืขืจื•ื•ืขืจ ืื™ืŸ ืื™ื™ืŸ ืžืึธื“ืข (ืึธืŸ ืฉื•ืœื“ ื˜ืึธืœืขืจืึทื ืฅ) (ืคึฟืึทืจ ื•ื•ืขืจืกื™ืข 10.0.0):

  • ื“ืึทื˜ืข
  • ืคึผืึธืกื˜ื’ืจืขืก
  • ืจืขื“ื™ืก
  • ื–ืึธื•ืงื™ืคึผืขืจ
  • ืงืืคืงื
  • ืงืœื™ืงื›ืึธื•ืกืข
  • ืกื™ืžื‘ืึธืœ

ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฉื•ืœื“ ื˜ืึธืœืขืจืึทื ืฅ, ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ื•ื•ืึธืœืงืŸ ืคึผืจืึธื“ื•ืงื˜ ืคึผืœืึทื ื– ืึธื“ืขืจ ื™ื ืกื˜ืึทืœื™ืจืŸ Sentry ืึธืŸ ื“ืขื ืฉืจื™ืคื˜.

ื“ืขืจ ืคึผืึธืกื˜ืŸ ื‘ืืฉืจื™ื™ื‘ื˜ ื“ืขื ืคึผืจืึธืฆืขืก ืคื•ืŸ ื‘ื ื™ืŸ ืกืขื ื˜ืจื™ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืึท ืจืคึผื. ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืกืขื ื˜ืจื™ ื•ื•ื• ืขืก ืื™ื– ืงื™ื™ืŸ ืื™ื ื˜ืขืจื ืขื˜, ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ืึท ื™ืึทื ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืคึฟื•ืŸ ื“ื™ ื‘ืืงื•ืžืขืŸ ืจืคึผื.

ื•ื•ื™ื›ื˜ื™ืง ืงืœืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ ืื•ื™ืฃ ืึทืกืขืžื‘ืึทืœื™ื ื’ ืื•ืŸ ื™ื ืกื˜ืึธืœื™ื ื’ ืคึผืึทืงืึทื“ื–ืฉืึทื–

ืขื˜ืœืขื›ืข ืคึผืึทืงืึทื“ื–ืฉืึทื– ืึธืคืขื ื’ืขืŸ ืื•ื™ืฃ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ. ื“ืขืจื™ื‘ืขืจ, ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืคึผืจืึธืฆืขืก ืื™ื– ืฆืขื˜ื™ื™ืœื˜ ืื™ืŸ ืขื˜ืœืขื›ืข ืกื˜ืึทื’ืขืก.

ืืœืฅ:

ื“ืขืจ ืคึผืึธืกื˜ืŸ ืงืึธื•ื•ืขืจืก ื‘ื ื™ืŸ ืื•ืŸ ื™ื ืกื˜ืึธืœื™ื ื’ Sentry ื•ื•ืขืจืกื™ืข 9.1.2. ื ืึธืš ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืžืขืœื“ื•ื ื’ ืึท ืคึผืึธืจ ืคื•ืŸ ืžื™ื ืขืจื•ื•ืขืจื˜ื™ืง ืจื™ืœื™ืกื™ื–, ืื™ืจ ืงืขื ืขืŸ ื‘ื•ื™ืขืŸ ื“ื™ Sentry 10.XY ื•ื•ืขืจืกื™ืข.ืคื™ืœืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืœืขืฆื˜ืข ืงืึทืžื™ืฅ ืื™ืŸ ื‘ืขืœ ื–ืขื ืขืŸ ืคื™ืงืกื™ื–.

ืกืขืจื•ื•ื™ืจืขืจ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ื‘ื ื™ืŸ ืจืคึผื

ื“ื™ ืžืขืจ ืงืคึผื•ืก ืขืก ื–ืขื ืขืŸ, ื“ื™ ืคืึทืกื˜ืขืจ ื“ื™ ืกืขืžืึทืคืึธืจืข ืื•ืŸ ืกื™ืžื‘ืึธืœื™ืฉ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื‘ื•ื™ื˜

ืงืขืจ ืึทื•ื•ืขืง Selinux

ื“ื™ ืงื”ื™ืœื” ื•ื•ืขื˜ ื ืึธืจ ื–ื™ื™ืŸ ืื™ืŸ ื˜ื•ื™ื•ื•ืข ืื•ื™ื‘ ืขืžืขืฆืขืจ ืฉืจื™ื™ื‘ื˜ ืกืขืœื™ื ื•ืงืก ืคึผืึทืœืึทืกื™ื– ืคึฟืึทืจ Sentry.

sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
sudo reboot

ืงืึทื ืขืงื˜ื™ื ื’ ื“ื™ Epel-release ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™

sudo yum install -y epel-release git

ืžื™ืจ ืงืœื™ื™ึทื‘ืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื ืคึผื™ืคึผ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ื–ื™ื™. ื˜ืขืงืข 1general_dependencies.sh

echo "Install dependencies"
sudo yum install -y cargo gcc gcc-c++ libffi-devel libjpeg-devel libxml2-devel 
libxslt libxslt-devel make mc openssl-devel python-devel memcached 
python-lxml python-nose python2-pip python34 rpm-build rpmdevtools 
ruby-devel rubygems zlib-devel redis xmlsec1-openssl xmlsec1 
libtool-ltdl-devel xmlsec1-devel xmlsec1-openssl-devel openldap-devel

echo "Build common pip dependencies to rpm by fpm"
gem install --no-document fpm
echo "For chardet==3.0.2 need setuptools>=12"
echo "For cryptography==2.8 need setuptools>=18.5"
fpm -s python -t rpm setuptools==18.5
sudo yum install -y python-setuptools-18.5-1.noarch.rpm
fpm -s python -t rpm --name python2-pip pip==20.0.2
sudo yum install -y python2-pip-20.0.2-1.noarch.rpm

ื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ืŸ ืœื•ื™ืคืŸ PostgreSQL 9.6 ืฆื• ื‘ื•ื™ืขืŸ python-psycopg2-binary. ื˜ืขืงืข 2psicopg2-binary.sh

ืื™ืจ ืงืขื ืขืŸ ื˜ื•ื™ืฉืŸ ื“ื™ PostgreSQL ื•ื•ืขืจืกื™ืข ืื™ืŸ ื“ืขื ืฉืจื™ืคื˜.

sudo yum install -y postgresql-devel
fpm -s python -t rpm psycopg2-binary==2.7.7
sudo yum install -y python-psycopg2-binary-2.7.7-1.x86_64.rpm
sudo yum remove -y postgresql-devel postgresql postgresql-libs

ืงืึทืžืคึผื™ื™ืœ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ python-dateutil rpm. ื˜ืขืงืข 3dateutil.sh

#!/bin/bash

echo "Build and install python-dateutil rpm"
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SRPMS,SPECS}
spectool -g -R spec/python-dateutil.spec
wget https://raw.githubusercontent.com/patsevanton/sentry-rpm/master/spec/python-dateutil-system-zoneinfo.patch -P ~/rpmbuild/SOURCES
wget https://raw.githubusercontent.com/patsevanton/sentry-rpm/master/spec/python-dateutil-timelex-string.patch -P ~/rpmbuild/SOURCES
rpmbuild --bb spec/python-dateutil.spec
sudo yum install -y ~/rpmbuild/RPMS/noarch/python-dateutil-2.4.2-1.el7.noarch.rpm

ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ python-urllib3 rpm. ื˜ืขืงืข 4urllib3.sh

ืกืคึผืึธื™ืœืขืจ ื˜ื™ื˜ืœ

echo "Build pip dependencies to rpm by fpm for urllib3"
fpm -s python -t rpm pycparser==2.19
sudo yum install -y python-pycparser-2.19-1.noarch.rpm
fpm -s python -t rpm cffi==1.14.0
sudo yum install -y python-cffi-1.14.0-1.x86_64.rpm
fpm -s python -t rpm cryptography==2.8
sudo yum install -y python-cryptography-2.8-1.x86_64.rpm
fpm -s python -t rpm idna==2.7
sudo yum install -y python-idna-2.7-1.noarch.rpm
sudo chmod +r /usr/lib/python2.7/site-packages/idna-2.7-py2.7.egg-info/PKG-INFO
fpm -s python -t rpm pyOpenSSL==19.1.0
sudo yum install -y python-pyopenssl-19.1.0-1.noarch.rpm
fpm -s python -t rpm pbr==5.4.4
sudo yum install -y python-pbr-5.4.4-1.noarch.rpm
fpm -s python -t rpm mock==2.0.0
sudo yum install -y python-mock-2.0.0-1.noarch.rpm
fpm -s python -t rpm py==1.8.1
sudo yum install -y python-py-1.8.1-1.noarch.rpm
fpm -s python -t rpm six==1.10.0
sudo yum install -y python-six-1.10.0-1.noarch.rpm
fpm -s python -t rpm pluggy==0.6.0
sudo yum install -y python-pluggy-0.6.0-1.noarch.rpm
fpm -s python -t rpm attrs==19.3.0
sudo yum install -y python-attrs-19.3.0-1.noarch.rpm
fpm -s python -t rpm more-itertools==5.0.0
sudo yum install -y python-more-itertools-5.0.0-1.noarch.rpm
fpm -s python -t rpm pytest==3.5.1
sudo yum install -y python-pytest-3.5.1-1.noarch.rpm

echo "Build urllib rpm"
spectool -g -R spec/urllib3-1.24.2.spec
sudo yum-builddep -y spec/urllib3-1.24.2.spec
rpmbuild --bb spec/urllib3-1.24.2.spec
sudo yum install -y ~/rpmbuild/RPMS/noarch/python-urllib3-1.24.2-1.el7.noarch.rpm

ืžื™ืจ ืงืœื™ื™ึทื‘ืŸ ื“ื™ ืจื•ืขืŸ ืคึผื™ืคึผ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ื–ื™ื™. ื˜ืขืงืข 5other_dependencies.sh

ืกืคึผืึธื™ืœืขืจ ื˜ื™ื˜ืœ

echo "Build rpm by fpm"
fpm -s python -t rpm jmespath==0.9.5
sudo yum install -y python-jmespath-0.9.5-1.noarch.rpm
fpm -s python -t rpm amqp==1.4.9
sudo yum install -y python-amqp-1.4.9-1.noarch.rpm
fpm -s python -t rpm anyjson==0.3.3
sudo yum install -y python-anyjson-0.3.3-1.noarch.rpm
fpm -s python -t rpm billiard==3.3.0.23
sudo yum install -y python-billiard-3.3.0.23-1.x86_64.rpm
fpm -s python -t rpm docutils==0.16
sudo yum install -y python-docutils-0.16-1.noarch.rpm
fpm -s python -t rpm Pillow==4.2.1
sudo yum install -y python-pillow-4.2.1-1.x86_64.rpm
fpm -s python -t rpm botocore==1.5.70
sudo yum install -y python-botocore-1.5.70-1.noarch.rpm
fpm -s python -t rpm boto3==1.4.5
sudo yum install -y python-boto3-1.4.5-1.noarch.rpm
fpm -s python -t rpm chardet==3.0.2
sudo yum install -y python-chardet-3.0.2-1.noarch.rpm
fpm -s python -t rpm croniter==0.3.31
sudo yum install -y python-croniter-0.3.31-1.noarch.rpm
fpm -s python -t rpm cssselect==1.1.0
sudo yum install -y python-cssselect-1.1.0-1.noarch.rpm
fpm -s python -t rpm cssutils==0.9.10
sudo yum install -y python-cssutils-0.9.10-1.noarch.rpm
fpm -s python -t rpm django-crispy-forms==1.4.0
sudo yum install -y python-django-crispy-forms-1.4.0-1.noarch.rpm
fpm -s python -t rpm django-jsonfield==0.9.13
sudo yum install -y python-django-jsonfield-0.9.13-1.noarch.rpm
fpm -s python -t rpm django-picklefield==0.3.2
sudo yum install -y python-django-picklefield-0.3.2-1.noarch.rpm
fpm -s python -t rpm django-sudo==2.1.0
sudo yum install -y python-django-sudo-2.1.0-1.noarch.rpm
fpm -s python -t rpm django-templatetag-sugar==1.0
sudo yum install -y python-django-templatetag-sugar-1.0-1.noarch.rpm
fpm -s python -t rpm djangorestframework==2.4.8
sudo yum install -y python-djangorestframework-2.4.8-1.noarch.rpm
fpm -s python -t rpm email-reply-parser==0.2.0
sudo yum install -y python-email_reply_parser-0.2.0-1.noarch.rpm
fpm -s python -t rpm enum34==1.1.9
sudo yum install -y python-enum34-1.1.9-1.noarch.rpm
fpm -s python -t rpm functools32==3.2.3.post2
sudo yum install -y python-functools32-3.2.3_2-1.noarch.rpm
fpm -s python -t rpm futures==3.3.0
sudo yum install -y python-futures-3.3.0-1.noarch.rpm
fpm -s python -t rpm hiredis==0.1.6
sudo yum install -y python-hiredis-0.1.6-1.x86_64.rpm
fpm -s python -t rpm honcho==1.0.1
sudo yum install -y python-honcho-1.0.1-1.noarch.rpm
fpm -s python -t rpm httplib2==0.17.0
sudo yum install -y python-httplib2-0.17.0-1.noarch.rpm
fpm -s python -t rpm jsonschema==2.6.0
sudo yum install -y python-jsonschema-2.6.0-1.noarch.rpm
fpm -s python -t rpm kombu==3.0.35
sudo yum install -y python-kombu-3.0.35-1.noarch.rpm
fpm -s python -t rpm celery==3.1.18
sudo yum install -y python-celery-3.1.18-1.noarch.rpm
fpm -s python -t rpm loremipsum==1.0.5
sudo yum install -y python-loremipsum-1.0.5-1.noarch.rpm
fpm -s python -t rpm lxml==4.5.0
sudo yum install -y python-lxml-4.5.0-1.x86_64.rpm
fpm -s python -t rpm milksnake==0.1.5
sudo yum install -y python-milksnake-0.1.5-1.noarch.rpm
fpm -s python -t rpm mistune==0.8.4
sudo yum install -y python-mistune-0.8.4-1.noarch.rpm
fpm -s python -t rpm mmh3==2.3.1
sudo yum install -y python-mmh3-2.3.1-1.x86_64.rpm
fpm -s python -t rpm exam==0.10.6
sudo yum install -y python-exam-0.10.6-1.noarch.rpm
fpm -s python -t rpm msgpack==0.6.2
sudo yum install -y python-msgpack-0.6.2-1.x86_64.rpm
fpm -s python -t rpm oauth2==1.9.0.post1
sudo yum install -y python-oauth2-1.9.0.post1-1.noarch.rpm
fpm -s python -t rpm oauthlib==3.1.0
sudo yum install -y python-oauthlib-3.1.0-1.noarch.rpm
fpm -s python -t rpm parsimonious==0.8.0
sudo yum install -y python-parsimonious-0.8.0-1.noarch.rpm
fpm -s python -t rpm requests==2.20.1
sudo yum install -y python-requests-2.20.1-1.noarch.rpm
fpm -s python -t rpm petname==2.0
sudo yum install -y python-petname-2.0-1.noarch.rpm
fpm -s python -t rpm python-utils==2.3.0
sudo yum install -y python-utils-2.3.0-1.noarch.rpm
fpm -s python -t rpm progressbar2==3.10.1
sudo yum install -y python-progressbar2-3.10.1-1.noarch.rpm
fpm -s python -t rpm pytest-django==2.9.1
sudo yum install -y python-pytest-django-2.9.1-1.noarch.rpm
fpm -s python -t rpm pytest-html==1.9.0
sudo yum install -y python-pytest-html-1.9.0-1.noarch.rpm
fpm -s python -t rpm python-memcached==1.59
sudo yum install -y python-memcached-1.59-1.noarch.rpm
fpm -s python -t rpm python-openid==2.2.5
sudo yum install -y python-openid-2.2.5-1.noarch.rpm
fpm -s python -t rpm python-u2flib-server==4.0.1
sudo yum install -y python-u2flib-server-4.0.1-1.noarch.rpm
fpm -s python -t rpm qrcode==5.3
sudo yum install -y python-qrcode-5.3-1.noarch.rpm
fpm -s python -t rpm querystring-parser==1.2.4
sudo yum install -y python-querystring_parser-1.2.4-1.noarch.rpm
fpm -s python -t rpm redis==2.10.5
sudo yum install -y python-redis-2.10.5-1.noarch.rpm
fpm -s python -t rpm rb==1.7
sudo yum install -y python-rb-1.7-1.noarch.rpm
fpm -s python -t rpm redis-py-cluster==1.3.4
sudo yum install -y python-redis-py-cluster-1.3.4-1.noarch.rpm
fpm -s python -t rpm requests-oauthlib==0.3.3
sudo yum install -y python-requests-oauthlib-0.3.3-1.noarch.rpm
fpm -s python -t rpm percy==2.0.2
sudo yum install -y python-percy-2.0.2-1.noarch.rpm
fpm -s python -t rpm selenium==3.141.0
sudo yum install -y python-selenium-3.141.0-1.noarch.rpm
fpm -s python -t rpm semaphore==0.4.65
sudo yum install -y python-semaphore-0.4.65-1.x86_64.rpm
fpm -s python -t rpm sentry-sdk==0.14.1
sudo yum install -y python-sentry-sdk-0.14.1-1.noarch.rpm
fpm -s python -t rpm setproctitle==1.1.10
sudo yum install -y python-setproctitle-1.1.10-1.x86_64.rpm
fpm -s python -t rpm simplejson==3.8.2
sudo yum install -y python-simplejson-3.8.2-1.x86_64.rpm
fpm -s python -t rpm sqlparse==0.1.19
sudo yum install -y python-sqlparse-0.1.19-1.noarch.rpm
fpm -s python -t rpm statsd==3.1
sudo yum install -y python-statsd-3.1-1.noarch.rpm
fpm -s python -t rpm strict-rfc3339==0.7
sudo yum install -y python-strict-rfc3339-0.7-1.noarch.rpm
fpm -s python -t rpm structlog==16.1.0
sudo yum install -y python-structlog-16.1.0-1.noarch.rpm
fpm -s python -t rpm symbolic==6.1.4
sudo yum install -y python-symbolic-6.1.4-1.x86_64.rpm
fpm -s python -t rpm toronado==0.0.11
sudo yum install -y python-toronado-0.0.11-1.noarch.rpm
fpm -s python -t rpm ua-parser==0.7.3
sudo yum install -y python-ua-parser-0.7.3-1.noarch.rpm
fpm -s python -t rpm uwsgi==2.0.18
sudo yum install -y python-uwsgi-2.0.18-1.noarch.rpm
fpm -s python -t rpm -n PyYAML pyyaml==3.11
sudo yum install -y PyYAML-3.11-1.x86_64.rpm
fpm -s python -t rpm django-auth-ldap==1.2.17
sudo yum install -y python-django-auth-ldap-1.2.17-1.noarch.rpm

ืžื™ืจ ืฆื•ื ื•ื™ืคืฉื˜ืขืœื  ื–ื™ืš ืื™ืŸ ืจืคึผื ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ืขืก. ื˜ืขืงืข 6sentry.sh

echo "Install nodejs and yarn"
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install -y nodejs
sudo sed -e '/nodesource-source/,+6d' -i /etc/yum.repos.d/nodesource-el7.repo
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install -y yarn

cp spec/config.yml spec/sentry.conf.py ~/rpmbuild/SOURCES
cp spec/sentry-cron.service spec/sentry-web.service spec/sentry-worker.service ~/rpmbuild/SOURCES
spectool -g spec/sentry-9.1.2.spec
sudo yum-builddep -y spec/sentry-9.1.2.spec
rpmbuild -bb spec/sentry-9.1.2.spec
sudo yum install -y ~/rpmbuild/RPMS/noarch/python-sentry-9.1.2-1.el7.noarch.rpm

ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืจืคึผื ืžื™ื˜ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื•ื™ืฃ ืืŸ ืื ื“ืขืจ ืกืขืจื•ื•ืขืจ

ืงืขืจ ืึทื•ื•ืขืง Selinux

sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
#### sudo reboot

ืงืึทื ืขืงื˜ื™ื ื’ ื“ื™ Epel-release ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™

sudo yum install -y epel-release git libjpeg-turbo redis
sudo systemctl start redis

ื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ืŸ ืœื•ื™ืคืŸ PostgreSQL 9.6. ื˜ืขืงืข 7postgresql.sh

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql96 postgresql96-server postgresql96-contrib
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
sudo systemctl start postgresql-9.6
sudo -i -u postgres psql -c "create user sentry with password 'password';"
sudo -i -u postgres psql -c "create database sentry with owner sentry;"
sudo -i -u postgres psql -c "alter role sentry superuser;"

# TODO: ะŸั€ะพะฒะตั€ะธั‚ัŒ ะฑะตะท ะฟั€ะฐะฒ superuser ะดะปั ั€ะพะปะธ sentry
#sudo -i -u postgres psql -c "alter role sentry nosuperuser;"
#sudo -i -u postgres psql -c "CREATE SCHEMA main AUTHORIZATION sentry;"

ืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ื“ื™ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ (ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื“ืึทื˜ืึทื‘ื™ื™ืก ืกื˜ืฉืขืžืึท) ืื•ืŸ ืึธื ื”ื™ื™ื‘ืŸ ื“ื™ ืกืขืจื•ื•ื™ืกืขืก. ื˜ืขืงืข 8start_sentry.sh

sudo systemctl start redis
sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ upgrade
sudo systemctl start sentry-worker
sudo systemctl start sentry-cron
sudo systemctl start sentry-web

ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทืŸ ืื™ื ืขืจืœืขื›ืขืจ ืกืขื ื˜ืจื™ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ

https://forum.sentry.io/t/noninteractive-first-time-setup-of-user-via-upgrade/164

sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ createuser 

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื™ืŸ ืจืคึผื, ื™ื ืกื˜ืึทืœื™ืจื•ื ื’, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคึฟืึทืจ ืคื•ื™ืœ

ืงืขืจ ืึทื•ื•ืขืง Selinux

sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
sudo reboot

ืœื•ื™ืคืŸ ืกืงืจื™ืคึผืก ืฆื• ื‘ื•ื™ืขืŸ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ื•ื•ืขื›ื˜ืขืจ

sudo yum install -y epel-release git
git clone https://github.com/patsevanton/sentry-rpm.git
cd sentry-rpm
./1general_dependencies.sh
./2psycopg2-binary.sh
./3dateutil.sh
./4urllib3.sh
./5other_dependencies.sh
./6sentry.sh
ะšะพะฟะธั€ัƒะตะผ rpm ะธะท rpmbuild/RPMS ะธ ะบะพั€ะฝั sentry-rpm ะฝะฐ ั†ะตะปะตะฒะพะน ัะตั€ะฒะตั€. ะกะพะทะดะฐะตะผ yum ั€ะตะฟะพ. ะฃัั‚ะฐะฝะฐะฒะปะธะฒะฐะตะผ ะฒัะต ัะพะฑั€ะฐะฝะฝั‹ะต rpm ะฟะฐะบะตั‚ั‹.
./7postgresql.sh
./8start_sentry.sh

ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทืŸ ืื™ื ืขืจืœืขื›ืขืจ ืกืขื ื˜ืจื™ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ

https://forum.sentry.io/t/noninteractive-first-time-setup-of-user-via-upgrade/164

sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ createuser 

ื˜ืขืกื˜ื™ื ื’ ื•ื™ืกื ืขื ืฉื™ืงื˜

ืžื™ืจ ื•ื•ืขืœืŸ ืคึผืจื•ื‘ื™ืจืŸ ืขืก ืื•ื™ืฃ ืึท ื“ื–ืฉืึทื•ื•ืึท ืคึผืจื•ื™ืขืงื˜. ืืจืืคืงืืคื™ืข ื“ื–ืฉืึทื•ื•ืึท ืื•ืŸ ืžืึทื•ื•ืขืŸ.

sudo yum install -y java-1.8.0-openjdk-devel git
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo yum -y install apache-maven
git clone https://github.com/getsentry/examples.git
cd examples/java/basic
mvn compile exec:java

ืื™ืฆื˜ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืงืึทื˜ืขืจ ื“ื–ืฉืึทื•ื•ืึท ื“ื•ืจืš ืคืึธืจืŸ ืขืก SENTRY_DSN

SENTRY_DSN=https://public:private@host:port/1 mvn exec:java

ืื™ืฆื˜ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ SENTRY_DSN.

ืœืึธืžื™ืจ ื’ื™ื™ืŸ ืฆื• ืกืขื ื˜ืจื™. ื–ืืœ ืก ื’ื™ื™ืŸ ืฆื• ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืคึผืจื•ื™ืขืงื˜ internal.

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ืึธื“ืขืจ

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ืœืึธืžื™ืจ ื’ื™ื™ืŸ ืฆื• ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืกืขื˜ื˜ื™ื ื’ืก.

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ื’ื™ื™ืŸ ืฆื• Client Keys (DSN).

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ื ืึธื›ืžืึทื›ืŸ ื“ื™ DSN. ื“ืึธืก ืื™ื– SENTRY_DSN.

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ืžื™ืจ ืงืึทื˜ืขืจ Java ืžื™ื˜ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ.

SENTRY_DSN=http://[email protected]:9000/1 mvn exec:java

ืžื™ืจ ื–ืขืŸ ื“ืขื ื‘ื™ืœื“.

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ืื•ื™ื‘ ืžื™ืจ ื’ื™ื™ืŸ ืฆื• UnsupportedOperationException, ื“ืขืžืึธืœื˜ ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ื™ืงืกืคึผืึทื ื“ื™ื“ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข.

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ื‘ื ื™ืŸ ื•ื•ืขื›ื˜ืขืจ ืื•ืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื™ืŸ ืจืคึผื. ื™ื ืกื˜ืึธืœื™ื ื’ ื•ื•ืขื›ื˜ืขืจ ืคึฟื•ืŸ ืจืคึผื, ื™ืงืขืจื“ื™ืง ืกืขื˜ืึทืคึผ

ื‘ืืฉืืคืŸ ืึท ื˜ืขืœืขื’ืจืึทื ืฉืžื•ืขืก ืžื™ื˜ ืกืขื ื˜ืจื™

https://t.me/sentry_ru

ืื™ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืขืคึผื™ืกืึธื•ื“ื–:

  • ืคึผืจื•ื‘ื™ืจืŸ LDAP. ื“ืขืจ ืฉืจื™ืคื˜ ืื™ื– ืฉื•ื™ืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ 9sentry-ldap-auth.sh
  • ื˜ืขืกื˜ ื•ื•ืขื›ื˜ืขืจ ื•ื•ืขืจืกื™ืข 10.0.X ื ืึธืš ืึท ืคึผืึธืจ ืคื•ืŸ ืžื™ื ืขืจื•ื•ืขืจื˜ื™ืง ืจื™ืœื™ืกื™ื– ื–ืขื ืขืŸ ืจืึธื•ืœื“ ืื•ื™ืก.

ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืžื™ื˜ ืกืงืจื™ืคึผืก:

https://github.com/patsevanton/sentry-rpm

ืžืงื•ืจ: www.habr.com