๊ธฐ์
๋ณด์ด โ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ธ ๋ฐ ์ค๋ฅ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ๋๊ตฌ์ ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ :
- ํ๋ก์ ํธ์ ์ฝ๊ฒ ํตํฉ๋๋ฉฐ,
- ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๋ชจ๋์์ ์ค๋ฅ๋ฅผ ํฌ์ฐฉํฉ๋๋ค.
- ๋ฌด๋ฃ,
- ์ค๋ฅ ๋ชฉ๋ก์ ์ค์๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ๋๋ฉฐ,
- ์ค๋ฅ๊ฐ ํด๊ฒฐ๋ ๊ฒ์ผ๋ก ํ์๋์ด ๋ค์ ๋ํ๋๋ฉด ์ค๋ฅ๊ฐ ๋ค์ ์์ฑ๋์ด ๋ณ๋์ ์ค๋ ๋์์ ๊ณ ๋ ค๋ฉ๋๋ค.
- ์ค๋ฅ๋ ๋ฐ์ ๋น๋ ์์ผ๋ก ๊ทธ๋ฃนํ๋์ด ํ์๋๋ฉฐ,
- ์ค๋ฅ๋ ์ํ, ๋ก๊น
์์ค, ๋ก๊น
์์ค, ์๋ฒ ์ด๋ฆ ๋ฑ์ ๊ธฐ์ค์ผ๋ก ํํฐ๋งํ ์ ์์ต๋๋ค.
ELK ๋ก๊ทธ์์ ๋น๊ต: ๊ฐ์ฅ ์ค์ํ ์ ์ ELK์์ ๋์ผํ ์ ํ์ ๊ฐ๊ฐ์ ์ ๋ก๊ทธ๊ฐ ๋ณ๋์ ํญ๋ชฉ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณด์ด์์๋ ๋์ผํ ์ ํ์ ๊ฐ๊ฐ์ ์๋ก์ด ์์ธ๊ฐ ํด๋น ๊ธฐ๋ก์ ๊ฐ์์ +1์ด ๋ฉ๋๋ค.
Sentry๋ ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์
docker ๋ฐ docker-compose๋ฅผ ์ฌ์ฉํ์ฌ Sentry ์คํ
์ฌ๊ธฐ์ ์ค๋ช
๋ ๋๋ก docker ๋ฐ docker-compose๋ฅผ ์ฌ์ฉํ์ฌ Sentry๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ
- ํฌ์คํธ ๊ทธ๋ ์ค
- ํ์ฑ
- ์ฌ์ก์ฌ
- ์นดํ์นด
- ํด๋ฆญํ์ฐ์ค
- ์์ง์
๋ด๊ฒฐํจ์ฑ์ด ํ์ํ ๊ฒฝ์ฐ ํด๋ผ์ฐ๋ ์ ํ ๊ณํ์ ์ฌ์ฉํ๊ฑฐ๋ ์ด ์คํฌ๋ฆฝํธ ์์ด Sentry๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
์ด ๊ฒ์๋ฌผ์ rpm์์ Sentry์ ํด๋น ์ข ์์ฑ์ ๊ตฌ์ถํ๋ ํ๋ก์ธ์ค๋ฅผ ์ค๋ช ํฉ๋๋ค. ์ธํฐ๋ท์ด ์๋ ๊ณณ์ Sentry๋ฅผ ์ค์นํด์ผ ํ๋ ๊ฒฝ์ฐ ์์ ๋ rpms์์ yum ์ ์ฅ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
ํจํค์ง ์กฐ๋ฆฝ ๋ฐ ์ค์น์ ๋ํ ์ค์ํ ์ค๋ช
์ผ๋ถ ํจํค์ง๋ ์๋ก ์์กดํฉ๋๋ค. ๋ฐ๋ผ์ ์กฐ๋ฆฝ ๋ฐ ์ค์น ๊ณผ์ ์ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋ฉ๋๋ค.
ํ ๊ฒ:
์ด ๊ฒ์๋ฌผ์์๋ Sentry ๋ฒ์ 9.1.2 ๋น๋ ๋ฐ ์ค์น๋ฅผ ๋ค๋ฃน๋๋ค. ๊ฐ๋ฐ์๊ฐ ๋ช ๊ฐ์ง ๋ง์ด๋ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฆด๋ฆฌ์คํ ํ Sentry 10.XY ๋ฒ์ ์ ๋น๋ํ ์ ์์ต๋๋ค. ๋ง์คํฐ์ ์ต์ ์ปค๋ฐ ์ค ๋๋ถ๋ถ์ ์์ ์ฌํญ์ ๋๋ค.
rpm ๊ตฌ์ถ์ ์ํ ์๋ฒ ์๊ตฌ ์ฌํญ
CPU๊ฐ ๋ง์์๋ก ์ธ๋งํฌ์ด ๋ฐ ๊ธฐํธ ํจํค์ง๊ฐ ๋ ๋น ๋ฅด๊ฒ ๋น๋๋ฉ๋๋ค.
Selinux ๋๊ธฐ
์ปค๋ฎค๋ํฐ๋ ๋๊ตฐ๊ฐ๊ฐ Sentry์ ๋ํ selinux ์ ์ฑ ์ ์์ฑํ๋ ๊ฒฝ์ฐ์๋ง ์ฐฌ์ฑํ ๊ฒ์ ๋๋ค.
sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
sudo reboot
epel-release ์ ์ฅ์ ์ฐ๊ฒฐ
sudo yum install -y epel-release git
rpm pip์์ ์ข ์์ฑ์ ์์งํ๊ณ ์ค์นํฉ๋๋ค. ํ์ผ 1general_dependent.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
Python-psycopg9.6-binary๋ฅผ ๋น๋ํ๋ ค๋ฉด PostgreSQL 2์ ์ค์นํ๊ณ ์คํํ์ธ์. ํ์ผ 2psycopg2-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
๋๋จธ์ง pip ์ข ์์ฑ์ rpm์ผ๋ก ์์งํ๊ณ ์ค์นํฉ๋๋ค. ํ์ผ 5other_dependent.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
rpm sentry๋ก ์ปดํ์ผํ๊ณ ์ค์นํฉ๋๋ค. ํ์ผ 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
๋ค๋ฅธ ์๋ฒ์ ์ข ์๋ Sentry 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
๋ด๋ถ Sentry ๊ด๋ฆฌ์ ์์ฑ
sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ createuser
๊ฒ์ผ๋ฅธ ์ฌ๋๋ค์ ์ํ rpm ๋จ์๋ก ์ผํธ๋ฆฌ ๊ตฌ์ถ, ์ค์น, ๊ตฌ์ฑ
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
๋ด๋ถ Sentry ๊ด๋ฆฌ์ ์์ฑ
sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ createuser
์์ธ ์ ์ก ํ ์คํธ
Java ํ๋ก์ ํธ์์ ํ ์คํธํด๋ณด๊ฒ ์ต๋๋ค. ์๋ฐ์ ๋ฉ์ด๋ธ์ ๋ค์ด๋ก๋ํ์ธ์.
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์ ์ ๋ฌํ์ฌ Java๋ฅผ ์คํํด์ผ ํฉ๋๋ค.
SENTRY_DSN=https://public:private@host:port/1 mvn exec:java
์ด์ ๊ธฐ๋ณธ์ผ๋ก ์์ฑ๋ SENTRY_DSN์ ์ฐพ์์ผ ํฉ๋๋ค.
์ผํธ๋ฆฌ๋ก ๊ฐ์. ๊ธฐ๋ณธ ํ๋ก์ ํธ๋ก ๊ฐ์ internal.
๋๋
ํ๋ก์ ํธ ์ค์ ์ผ๋ก ๊ฐ๋ณด๊ฒ ์ต๋๋ค.
ํด๋ผ์ด์ธํธ ํค(DSN)๋ก ์ด๋ํฉ๋๋ค.
DSN์ ๋ณต์ฌํฉ๋๋ค. SENTRY_DSN์ ๋๋ค.
์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ Java๋ฅผ ์์ํฉ๋๋ค.
SENTRY_DSN=http://[email protected]:9000/1 mvn exec:java
์ฐ๋ฆฌ๋ ์ด ์ฌ์ง์ ๋ด ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฉด UnsupportedOperationException
, ๊ทธ๋ฌ๋ฉด ํ์ฅ๋ ์ ๋ณด๊ฐ ํ์๋ฉ๋๋ค.
Sentry๋ฅผ ์ฌ์ฉํ์ฌ ํ ๋ ๊ทธ๋จ ์ฑํ ์ ๋ง๋ค์์ต๋๋ค.
๋ค์ ์ํผ์๋์์:
- LDAP๋ฅผ ํ
์คํธํฉ๋๋ค. ์คํฌ๋ฆฝํธ๋ ์ด๋ฏธ ์ค๋น๋์ด ์์ต๋๋ค.
9sentry-ldap-auth.sh
- ๋ช ๊ฐ์ง ๋ถ ๋ฆด๋ฆฌ์ค๊ฐ ์ถ์๋ ํ Sentry ๋ฒ์ 10.0.X๋ฅผ ํ ์คํธํฉ๋๋ค.
์คํฌ๋ฆฝํธ๊ฐ ์๋ ์ ์ฅ์:
์ถ์ฒ : habr.com