{"id":80621,"date":"2020-05-07T13:42:58","date_gmt":"2020-05-07T11:42:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka"},"modified":"2021-02-15T18:59:29","modified_gmt":"2021-02-15T16:59:29","slug":"sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka","title":{"rendered":"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3 id=\"opisanie\">Omschrijving<\/h3>\n<p><strong>Sentry<\/strong> \u2014 een monitoringtool voor uitzonderingen (exception), fouten in uw applicaties.<\/p>\n<p><strong>Belangrijkste mogelijkheden:<\/strong><\/p>\n<ul>\n<li>voegt zich gemakkelijk in uw project.<\/li>\n<li>vangt fouten zowel in de browser van de gebruiker als op uw server.<\/li>\n<li>Gratis,<\/li>\n<li>de lijst met fouten wordt in realtime bijgewerkt,<\/li>\n<li>Als een fout als opgelost is gemarkeerd en opnieuw verschijnt, wordt deze opnieuw aangemaakt en in een aparte thread geteld,<\/li>\n<li>Fouten worden gegroepeerd en weergegeven op volgorde van frequentie van voorkomen,<\/li>\n<li>Fouten kunnen gefilterd worden op statussen, loggingbron, logniveau, servernaam, enz.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p>Vergelijking met ELK-logs: <strong>het belangrijkste is dat in ELK elke nieuwe soortgelijke log een aparte vermelding is, terwijl in Sentry elke nieuwe soortgelijke uitzondering slechts +1 toevoegt aan de telling van zijn vermelding.<\/strong><\/p>\n<p>Sentry ondersteunt de meeste programmeertalen. Meer informatie <noindex><a rel=\"nofollow\" href=\"https:\/\/sentry.io\/platforms\/\">hier<\/a><\/noindex>.<\/p>\n<h3 id=\"zapusk-sentry-s-pomoschyu-docker-i-docker-compose\">Sentry starten met Docker en Docker Compose<\/h3>\n<p>U kunt Sentry starten met Docker en Docker Compose zoals hier beschreven: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/getsentry\/onpremise\">https:\/\/github.com\/getsentry\/onpremise<\/a><\/noindex>. Maar het script start op dezelfde server in enkele modus (zonder redundantie) extra services (Voor versie Sentry 10.0.0):<\/p>\n<ul>\n<li>data<\/li>\n<li>postgres<\/li>\n<li>Cachinglogica is meestal niet zo complex, maar het implementeren ervan in EloquentPostQueries is niet echt correct (tenminste vanwege de<\/li>\n<li>zookeeper<\/li>\n<li>kafka<\/li>\n<li>clickhouse<\/li>\n<li>symbolicator<\/li>\n<\/ul>\n<p>Als u redundantie nodig heeft, moet u ofwel gebruik maken van het basis cloudproduct, of Sentry zonder dit script installeren.<\/p>\n<p>In deze post wordt het proces van het bouwen van Sentry en zijn afhankelijkheden in rpm beschreven. Als u Sentry wilt installeren waar geen internet is, kunt u van de verkregen rpm een yum-repository maken.<\/p>\n<h3 id=\"vazhnoe-utochenie-po-sborke-i-ustanovke-paketov\">Belangrijke opmerking over het bouwen en installeren van pakketten<\/h3>\n<p>Sommige pakketten zijn afhankelijk van elkaar. Daarom is het proces van bouwen en installeren opgedeeld in verschillende fasen.<\/p>\n<h4 id=\"todo\">TODO:<\/h4>\n<p>In deze post wordt de bouw en installatie van Sentry versie 9.1.2 besproken. Nadat de ontwikkelaars een paar kleine releases hebben uitgebracht, kan ook versie Sentry 10.X.Y worden samengesteld. Veel recente commits in de master zijn fixes.<\/p>\n<h3 id=\"trebovaniya-k-serveru-dlya-sborki-rpm\">Serververeisten voor het bouwen van rpm<\/h3>\n<p>Hoe meer CPU's er zijn, hoe sneller het bouwen van de semaphore- en symbolic-pakketten zal plaatsvinden.<\/p>\n<h3 id=\"vyklyuchaem-selinux\">Schakel Selinux uit<\/h3>\n<p>De gemeenschap zou het alleen maar toejuichen als iemand Selinux-beleidsregels voor Sentry schrijft.<\/p>\n<pre><code class=\"plaintext\">sudo sed -i s\/^SELINUX=.*$\/SELINUX=disabled\/ \/etc\/selinux\/config\nsudo reboot<\/code><\/pre>\n<h3 id=\"podklyuchaem-repozitoriy-epel-release\">Voeg de epel-release repository toe<\/h3>\n<pre><code class=\"plaintext\">sudo yum install -y epel-release git<\/code><\/pre>\n<h3 id=\"sobiraem-v-rpm-pip-zavisimosti-i-ustanavlivaem-ih-fayl-1general_dependenciessh\">Bouw de pip-afhankelijkheden in rpm en installeer ze. Bestand 1general_dependencies.sh<\/h3>\n<pre><code class=\"plaintext\">echo \"Installeer afhankelijkheden\"\nsudo yum install -y cargo gcc gcc-c++ libffi-devel libjpeg-devel libxml2-devel \nlibxslt libxslt-devel make mc openssl-devel python-devel memcached \npython-lxml python-nose python2-pip python34 rpm-build rpmdevtools \nruby-devel rubygems zlib-devel redis xmlsec1-openssl xmlsec1 \nlibtool-ltdl-devel xmlsec1-devel xmlsec1-openssl-devel openldap-devel\n\necho \"Bouw algemene pip-afhankelijkheden naar rpm met fpm\"\ngem install --no-document fpm\necho \"Voor chardet==3.0.2 is setuptools&gt;=12 nodig\"\necho \"Voor cryptography==2.8 is setuptools&gt;=18.5 nodig\"\nfpm -s python -t rpm setuptools==18.5\nsudo yum install -y python-setuptools-18.5-1.noarch.rpm\nfpm -s python -t rpm --name python2-pip pip==20.0.2\nsudo yum install -y python2-pip-20.0.2-1.noarch.rpm<\/code><\/pre>\n<h3 id=\"ustanavlivaem-i-zapuskaem-postgresql-96-dlya-sborki-python-psycopg2-binary-fayl-2psycopg2-binarysh\">We installeren en starten PostgreSQL 9.6 voor het bouwen van python-psycopg2-binary. Bestand 2psycopg2-binary.sh<\/h3>\n<p>U kunt de versie van PostgreSQL in het script wijzigen.<\/p>\n<pre><code class=\"plaintext\">sudo yum install -y postgresql-devel\nfpm -s python -t rpm psycopg2-binary==2.7.7\nsudo yum install -y python-psycopg2-binary-2.7.7-1.x86_64.rpm\nsudo yum remove -y postgresql-devel postgresql postgresql-libs<\/code><\/pre>\n<h3 id=\"sobiraem-i-ustanavlivaem-python-dateutil-rpm-fayl-3dateutilsh\">We bouwen en installeren python-dateutil rpm. Bestand 3dateutil.sh<\/h3>\n<pre><code class=\"plaintext\">#!\/bin\/bash\n\necho \"Build and install python-dateutil rpm\"\nmkdir -p ~\/rpmbuild\/{BUILD,RPMS,SOURCES,SRPMS,SPECS}\nspectool -g -R spec\/python-dateutil.spec\nwget https:\/\/raw.githubusercontent.com\/patsevanton\/sentry-rpm\/master\/spec\/python-dateutil-system-zoneinfo.patch -P ~\/rpmbuild\/SOURCES\nwget https:\/\/raw.githubusercontent.com\/patsevanton\/sentry-rpm\/master\/spec\/python-dateutil-timelex-string.patch -P ~\/rpmbuild\/SOURCES\nrpmbuild --bb spec\/python-dateutil.spec\nsudo yum install -y ~\/rpmbuild\/RPMS\/noarch\/python-dateutil-2.4.2-1.el7.noarch.rpm<\/code><\/pre>\n<h3 id=\"sobiraem-i-ustanavlivaem-python-urllib3-rpm-fayl-4urllib3sh\">We bouwen en installeren python-urllib3 rpm. Bestand 4urllib3.sh<\/h3>\n<p><b class=\"spoiler_title\">Spoiler-titel<\/b><\/p>\n<pre><code class=\"plaintext\">echo \"Bouw pip-afhankelijkheden naar rpm met fpm voor urllib3\"\nfpm -s python -t rpm pycparser==2.19\nsudo yum install -y python-pycparser-2.19-1.noarch.rpm\nfpm -s python -t rpm cffi==1.14.0\nsudo yum install -y python-cffi-1.14.0-1.x86_64.rpm\nfpm -s python -t rpm cryptography==2.8\nsudo yum install -y python-cryptography-2.8-1.x86_64.rpm\nfpm -s python -t rpm idna==2.7\nsudo yum install -y python-idna-2.7-1.noarch.rpm\nsudo chmod +r \"\/usr\/lib\/python2.7\/site-packages\/idna-2.7-py2.7.egg-info\/PKG-INFO\"\nfpm -s python -t rpm pyOpenSSL==19.1.0\nsudo yum install -y python-pyopenssl-19.1.0-1.noarch.rpm\nfpm -s python -t rpm pbr==5.4.4\nsudo yum install -y python-pbr-5.4.4-1.noarch.rpm\nfpm -s python -t rpm mock==2.0.0\nsudo yum install -y python-mock-2.0.0-1.noarch.rpm\nfpm -s python -t rpm py==1.8.1\nsudo yum install -y python-py-1.8.1-1.noarch.rpm\nfpm -s python -t rpm six==1.10.0\nsudo yum install -y python-six-1.10.0-1.noarch.rpm\nfpm -s python -t rpm pluggy==0.6.0\nsudo yum install -y python-pluggy-0.6.0-1.noarch.rpm\nfpm -s python -t rpm attrs==19.3.0\nsudo yum install -y python-attrs-19.3.0-1.noarch.rpm\nfpm -s python -t rpm more-itertools==5.0.0\nsudo yum install -y python-more-itertools-5.0.0-1.noarch.rpm\nfpm -s python -t rpm pytest==3.5.1\nsudo yum install -y python-pytest-3.5.1-1.noarch.rpm\n\necho \"Bouw urllib rpm\"\nspectool -g -R spec\/urllib3-1.24.2.spec\nsudo yum-builddep -y spec\/urllib3-1.24.2.spec\nrpmbuild --bb spec\/urllib3-1.24.2.spec\nsudo yum install -y ~\/rpmbuild\/RPMS\/noarch\/python-urllib3-1.24.2-1.el7.noarch.rpm<\/code><\/pre>\n<h3 id=\"sobiraem-v-rpm-ostalnye-pip-zavisimosti-i-ustanavlivaem-ih-fayl-5other_dependenciessh\">We verzamelen de overige pip-afhankelijkheden in rpm en installeren ze. Bestand 5other_dependencies.sh<\/h3>\n<p><b class=\"spoiler_title\">Spoiler-titel<\/b><\/p>\n<pre><code class=\"plaintext\">echo \"Maak rpm met fpm\"\nfpm -s python -t rpm jmespath==0.9.5\nsudo yum install -y python-jmespath-0.9.5-1.noarch.rpm\nfpm -s python -t rpm amqp==1.4.9\nsudo yum install -y python-amqp-1.4.9-1.noarch.rpm\nfpm -s python -t rpm anyjson==0.3.3\nsudo yum install -y python-anyjson-0.3.3-1.noarch.rpm\nfpm -s python -t rpm billiard==3.3.0.23\nsudo yum install -y python-billiard-3.3.0.23-1.x86_64.rpm\nfpm -s python -t rpm docutils==0.16\nsudo yum install -y python-docutils-0.16-1.noarch.rpm\nfpm -s python -t rpm Pillow==4.2.1\nsudo yum install -y python-pillow-4.2.1-1.x86_64.rpm\nfpm -s python -t rpm botocore==1.5.70\nsudo yum install -y python-botocore-1.5.70-1.noarch.rpm\nfpm -s python -t rpm boto3==1.4.5\nsudo yum install -y python-boto3-1.4.5-1.noarch.rpm\nfpm -s python -t rpm chardet==3.0.2\nsudo yum install -y python-chardet-3.0.2-1.noarch.rpm\nfpm -s python -t rpm croniter==0.3.31\nsudo yum install -y python-croniter-0.3.31-1.noarch.rpm\nfpm -s python -t rpm cssselect==1.1.0\nsudo yum install -y python-cssselect-1.1.0-1.noarch.rpm\nfpm -s python -t rpm cssutils==0.9.10\nsudo yum install -y python-cssutils-0.9.10-1.noarch.rpm\nfpm -s python -t rpm django-crispy-forms==1.4.0\nsudo yum install -y python-django-crispy-forms-1.4.0-1.noarch.rpm\nfpm -s python -t rpm django-jsonfield==0.9.13\nsudo yum install -y python-django-jsonfield-0.9.13-1.noarch.rpm\nfpm -s python -t rpm django-picklefield==0.3.2\nsudo yum install -y python-django-picklefield-0.3.2-1.noarch.rpm\nfpm -s python -t rpm django-sudo==2.1.0\nsudo yum install -y python-django-sudo-2.1.0-1.noarch.rpm\nfpm -s python -t rpm django-templatetag-sugar==1.0\nsudo yum install -y python-django-templatetag-sugar-1.0-1.noarch.rpm\nfpm -s python -t rpm djangorestframework==2.4.8\nsudo yum install -y python-djangorestframework-2.4.8-1.noarch.rpm\nfpm -s python -t rpm email-reply-parser==0.2.0\nsudo yum install -y python-email_reply_parser-0.2.0-1.noarch.rpm\nfpm -s python -t rpm enum34==1.1.9\nsudo yum install -y python-enum34-1.1.9-1.noarch.rpm\nfpm -s python -t rpm functools32==3.2.3.post2\nsudo yum install -y python-functools32-3.2.3_2-1.noarch.rpm\nfpm -s python -t rpm futures==3.3.0\nsudo yum install -y python-futures-3.3.0-1.noarch.rpm\nfpm -s python -t rpm hiredis==0.1.6\nsudo yum install -y python-hiredis-0.1.6-1.x86_64.rpm\nfpm -s python -t rpm honcho==1.0.1\nsudo yum install -y python-honcho-1.0.1-1.noarch.rpm\nfpm -s python -t rpm httplib2==0.17.0\nsudo yum install -y python-httplib2-0.17.0-1.noarch.rpm\nfpm -s python -t rpm jsonschema==2.6.0\nsudo yum install -y python-jsonschema-2.6.0-1.noarch.rpm\nfpm -s python -t rpm kombu==3.0.35\nsudo yum install -y python-kombu-3.0.35-1.noarch.rpm\nfpm -s python -t rpm celery==3.1.18\nsudo yum install -y python-celery-3.1.18-1.noarch.rpm\nfpm -s python -t rpm loremipsum==1.0.5\nsudo yum install -y python-loremipsum-1.0.5-1.noarch.rpm\nfpm -s python -t rpm lxml==4.5.0\nsudo yum install -y python-lxml-4.5.0-1.x86_64.rpm\nfpm -s python -t rpm milksnake==0.1.5\nsudo yum install -y python-milksnake-0.1.5-1.noarch.rpm\nfpm -s python -t rpm mistune==0.8.4\nsudo yum install -y python-mistune-0.8.4-1.noarch.rpm\nfpm -s python -t rpm mmh3==2.3.1\nsudo yum install -y python-mmh3-2.3.1-1.x86_64.rpm\nfpm -s python -t rpm exam==0.10.6\nsudo yum install -y python-exam-0.10.6-1.noarch.rpm\nfpm -s python -t rpm msgpack==0.6.2\nsudo yum install -y python-msgpack-0.6.2-1.x86_64.rpm\nfpm -s python -t rpm oauth2==1.9.0.post1\nsudo yum install -y python-oauth2-1.9.0.post1-1.noarch.rpm\nfpm -s python -t rpm oauthlib==3.1.0\nsudo yum install -y python-oauthlib-3.1.0-1.noarch.rpm\nfpm -s python -t rpm parsimonious==0.8.0\nsudo yum install -y python-parsimonious-0.8.0-1.noarch.rpm\nfpm -s python -t rpm requests==2.20.1\nsudo yum install -y python-requests-2.20.1-1.noarch.rpm\nfpm -s python -t rpm petname==2.0\nsudo yum install -y python-petname-2.0-1.noarch.rpm\nfpm -s python -t rpm python-utils==2.3.0\nsudo yum install -y python-utils-2.3.0-1.noarch.rpm\nfpm -s python -t rpm progressbar2==3.10.1\nsudo yum install -y python-progressbar2-3.10.1-1.noarch.rpm\nfpm -s python -t rpm pytest-django==2.9.1\nsudo yum install -y python-pytest-django-2.9.1-1.noarch.rpm\nfpm -s python -t rpm pytest-html==1.9.0\nsudo yum install -y python-pytest-html-1.9.0-1.noarch.rpm\nfpm -s python -t rpm python-memcached==1.59\nsudo yum install -y python-memcached-1.59-1.noarch.rpm\nfpm -s python -t rpm python-openid==2.2.5\nsudo yum install -y python-openid-2.2.5-1.noarch.rpm\nfpm -s python -t rpm python-u2flib-server==4.0.1\nsudo yum install -y python-u2flib-server-4.0.1-1.noarch.rpm\nfpm -s python -t rpm qrcode==5.3\nsudo yum install -y python-qrcode-5.3-1.noarch.rpm\nfpm -s python -t rpm querystring-parser==1.2.4\nsudo yum install -y python-querystring_parser-1.2.4-1.noarch.rpm\nfpm -s python -t rpm redis==2.10.5\nsudo yum install -y python-redis-2.10.5-1.noarch.rpm\nfpm -s python -t rpm rb==1.7\nsudo yum install -y python-rb-1.7-1.noarch.rpm\nfpm -s python -t rpm redis-py-cluster==1.3.4\nsudo yum install -y python-redis-py-cluster-1.3.4-1.noarch.rpm\nfpm -s python -t rpm requests-oauthlib==0.3.3\nsudo yum install -y python-requests-oauthlib-0.3.3-1.noarch.rpm\nfpm -s python -t rpm percy==2.0.2\nsudo yum install -y python-percy-2.0.2-1.noarch.rpm\nfpm -s python -t rpm selenium==3.141.0\nsudo yum install -y python-selenium-3.141.0-1.noarch.rpm\nfpm -s python -t rpm semaphore==0.4.65\nsudo yum install -y python-semaphore-0.4.65-1.x86_64.rpm\nfpm -s python -t rpm sentry-sdk==0.14.1\nsudo yum install -y python-sentry-sdk-0.14.1-1.noarch.rpm\nfpm -s python -t rpm setproctitle==1.1.10\nsudo yum install -y python-setproctitle-1.1.10-1.x86_64.rpm\nfpm -s python -t rpm simplejson==3.8.2\nsudo yum install -y python-simplejson-3.8.2-1.x86_64.rpm\nfpm -s python -t rpm sqlparse==0.1.19\nsudo yum install -y python-sqlparse-0.1.19-1.noarch.rpm\nfpm -s python -t rpm statsd==3.1\nsudo yum install -y python-statsd-3.1-1.noarch.rpm\nfpm -s python -t rpm strict-rfc3339==0.7\nsudo yum install -y python-strict-rfc3339-0.7-1.noarch.rpm\nfpm -s python -t rpm structlog==16.1.0\nsudo yum install -y python-structlog-16.1.0-1.noarch.rpm\nfpm -s python -t rpm symbolic==6.1.4\nsudo yum install -y python-symbolic-6.1.4-1.x86_64.rpm\nfpm -s python -t rpm toronado==0.0.11\nsudo yum install -y python-toronado-0.0.11-1.noarch.rpm\nfpm -s python -t rpm ua-parser==0.7.3\nsudo yum install -y python-ua-parser-0.7.3-1.noarch.rpm\nfpm -s python -t rpm uwsgi==2.0.18\nsudo yum install -y python-uwsgi-2.0.18-1.noarch.rpm\nfpm -s python -t rpm -n PyYAML pyyaml==3.11\nsudo yum install -y PyYAML-3.11-1.x86_64.rpm\nfpm -s python -t rpm django-auth-ldap==1.2.17\nsudo yum install -y python-django-auth-ldap-1.2.17-1.noarch.rpm<\/code><\/pre>\n<h3 id=\"sobiraem-v-rpm-sentry-i-ustanavlivaem-ego-fayl-6sentrysh\">We verzamelen rpm sentry en installeren het. Bestand 6sentry.sh<\/h3>\n<pre><code class=\"plaintext\">echo \"Installeer nodejs en yarn\"\ncurl -sL https:\/\/rpm.nodesource.com\/setup_10.x | sudo bash -\nsudo yum install -y nodejs\nsudo sed -e '\/nodesource-source\/,+6d' -i \/etc\/yum.repos.d\/nodesource-el7.repo\ncurl -sL https:\/\/dl.yarnpkg.com\/rpm\/yarn.repo | sudo tee \/etc\/yum.repos.d\/yarn.repo\nsudo yum install -y yarn\n\ncp spec\/config.yml spec\/sentry.conf.py ~\/rpmbuild\/SOURCES\ncp spec\/sentry-cron.service spec\/sentry-web.service spec\/sentry-worker.service ~\/rpmbuild\/SOURCES\nspectool -g spec\/sentry-9.1.2.spec\nsudo yum-builddep -y spec\/sentry-9.1.2.spec\nrpmbuild -bb spec\/sentry-9.1.2.spec\nsudo yum install -y ~\/rpmbuild\/RPMS\/noarch\/python-sentry-9.1.2-1.el7.noarch.rpm<\/code><\/pre>\n<h2 id=\"ustanovka-sentry-rpm-s-zavisimostyami-na-drugom-servere\">Installatie van sentry rpm met afhankelijkheden op een andere server<\/h2>\n<h3 id=\"vyklyuchaem-selinux-1\">Schakel Selinux uit<\/h3>\n<pre><code class=\"plaintext\">sudo sed -i s\/^SELINUX=.*$\/SELINUX=disabled\/ \/etc\/selinux\/config\n#### sudo reboot<\/code><\/pre>\n<h3 id=\"podklyuchaem-repozitoriy-epel-release-1\">Voeg de epel-release repository toe<\/h3>\n<pre><code class=\"plaintext\">sudo yum install -y epel-release git libjpeg-turbo redis\nsudo systemctl start redis<\/code><\/pre>\n<h4 id=\"ustanavlivaem-i-zapuskaem-postgresql-96-fayl-7postgresqlsh\">We installeren en starten PostgreSQL 9.6. Bestand 7postgresql.sh<\/h4>\n<pre><code class=\"plaintext\">sudo yum install -y https:\/\/download.postgresql.org\/pub\/repos\/yum\/reporpms\/EL-7-x86_64\/pgdg-redhat-repo-latest.noarch.rpm\nsudo yum install -y postgresql96 postgresql96-server postgresql96-contrib\nsudo \/usr\/pgsql-9.6\/bin\/postgresql96-setup initdb\nsudo systemctl start postgresql-9.6\nsudo -i -u postgres psql -c \"create user sentry with password 'password';\"\nsudo -i -u postgres psql -c \"create database sentry with owner sentry;\"\nsudo -i -u postgres psql -c \"alter role sentry superuser;\"\n\n# TODO: Controleer zonder superuserrechten voor rol sentry\n#sudo -i -u postgres psql -c \"alter role sentry nosuperuser;\"\n#sudo -i -u postgres psql -c \"CREATE SCHEMA main AUTHORIZATION sentry;\"<\/code><\/pre>\n<h4 id=\"zapuskaem-migraciyu-sozdanie-shemy-bd-i-zapuskaem-servisy-fayl-8start_sentrysh\">We starten de migratie (aanmaken van de database-schema) en starten de services. Bestand 8start_sentry.sh<\/h4>\n<pre><code class=\"plaintext\">sudo systemctl start redis\nsudo -i -u sentry \/usr\/bin\/sentry --config \/etc\/sentry\/ upgrade\nsudo systemctl start sentry-worker\nsudo systemctl start sentry-cron\nsudo systemctl start sentry-web<\/code><\/pre>\n<h4 id=\"sozdaem-vnutrennego-administratora-sentry\">We maken een interne Sentry-beheerder aan<\/h4>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/forum.sentry.io\/t\/noninteractive-first-time-setup-of-user-via-upgrade\/164\">https:\/\/forum.sentry.io\/t\/noninteractive-first-time-setup-of-user-via-upgrade\/164<\/a><\/noindex><\/p>\n<pre><code class=\"plaintext\">sudo -i -u sentry \/usr\/bin\/sentry --config \/etc\/sentry\/ createuser <\/code><\/pre>\n<h3 id=\"sborka-sentry-v-rpm-ustanovka-nastroyka-dlya-lenivyh\">Bouwen van sentry in rpm, installatie, configuratie voor luiheid<\/h3>\n<h4 id=\"vyklyuchaem-selinux-2\">Schakel Selinux uit<\/h4>\n<pre><code class=\"plaintext\">sudo sed -i s\/^SELINUX=.*$\/SELINUX=disabled\/ \/etc\/selinux\/config\nsudo reboot<\/code><\/pre>\n<h4 id=\"zapuskaem-skripty-dlya-sborki-i-ustanovki-sentry\">We starten scripts voor het bouwen en installeren van sentry<\/h4>\n<pre><code class=\"plaintext\">sudo yum install -y epel-release git\ngit clone https:\/\/github.com\/patsevanton\/sentry-rpm.git\ncd sentry-rpm\n.\/1general_dependencies.sh\n.\/2psycopg2-binary.sh\n.\/3dateutil.sh\n.\/4urllib3.sh\n.\/5other_dependencies.sh\n.\/6sentry.sh\nKopieer rpm van rpmbuild\/RPMS en de hoofdmap van sentry-rpm naar de doelserver. Maak een yum-repo aan. Installeer alle gebouwde rpm-pakketten.\n.\/7postgresql.sh\n.\/8start_sentry.sh<\/code><\/pre>\n<h4 id=\"sozdaem-vnutrennego-administratora-sentry-1\">We maken een interne Sentry-beheerder aan<\/h4>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/forum.sentry.io\/t\/noninteractive-first-time-setup-of-user-via-upgrade\/164\">https:\/\/forum.sentry.io\/t\/noninteractive-first-time-setup-of-user-via-upgrade\/164<\/a><\/noindex><\/p>\n<pre><code class=\"plaintext\">sudo -i -u sentry \/usr\/bin\/sentry --config \/etc\/sentry\/ createuser <\/code><\/pre>\n<h3 id=\"testirovanie-otpravki-exception\">Testen van het verzenden van een uitzondering<\/h3>\n<p>We zullen testen op een Java-project. Download java en maven.<\/p>\n<pre><code class=\"plaintext\">sudo yum install -y java-1.8.0-openjdk-devel git\nsudo wget http:\/\/repos.fedorapeople.org\/repos\/dchen\/apache-maven\/epel-apache-maven.repo -O \/etc\/yum.repos.d\/epel-apache-maven.repo\nsudo yum -y install apache-maven\ngit clone https:\/\/github.com\/getsentry\/examples.git\ncd examples\/java\/basic\nmvn compile exec:java<\/code><\/pre>\n<p>Nu moeten we java starten door het SENTRY_DSN door te geven<\/p>\n<pre><code class=\"plaintext\">SENTRY_DSN=https:\/\/public:private@host:port\/1 mvn exec:java<\/code><\/pre>\n<p>Nu moeten we de standaard SENTRY_DSN vinden.<\/p>\n<p>Ga naar Sentry. Ga naar het standaardproject. <code>intern.<\/code><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/e96517368c38665099f38b5c8daca554.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>of<\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/4c32d1648e7a44b52a74f340ba5ebea1.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Ga naar de projectinstellingen.<\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/66e823df5257057a4be9daa7b40ec75b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Ga naar Client Keys (DSN).<\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/4b954af756eb08acab5e05586357ac1c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Kopieer DSN. Dit is de SENTRY_DSN.<\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/e02d120cfba7d36fa3062542f83213e0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Start java met deze parameter.<\/p>\n<pre><code class=\"plaintext\">SENTRY_DSN=http:\/\/633e7361061d4dcaaca53877c4c0e80a@172.26.9.34:9000\/1 mvn exec:java<\/code><\/pre>\n<p>We zien zo'n afbeelding.<\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/983320edf8893aaac8fd5f1058d9b998.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Als we overgaan naar <code>UnsupportedOperationException<\/code>, dan zien we uitgebreide informatie.<\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/8403b7b9ac58edd870f6e974ba2df522.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie\" src=\"\/wp-content\/uploads\/2020\/05\/82311a529e42117e2b615e15369bddb9.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h4 id=\"sozdal-telegram-chat-po-sentry\">Ik heb een Telegram-chat gemaakt over Sentry<\/h4>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/sentry_ru\">https:\/\/t.me\/sentry_ru<\/a><\/noindex><\/p>\n<h4 id=\"v-sleduyuschih-seriyah\">In de volgende afleveringen:<\/h4>\n<ul>\n<li>LDAP testen. Het script heb ik al voorbereid <code>9sentry-ldap-auth.sh<\/code><\/li>\n<li>Test de sentry versie 10.0.X nadat een paar kleinere releases zijn uitgegeven.<\/li>\n<\/ul>\n<h4 id=\"repozitoriy-so-skriptami\">Repository met scripts:<\/h4>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/patsevanton\/sentry-rpm\">https:\/\/github.com\/patsevanton\/sentry-rpm<\/a><\/noindex><\/p>\n<p>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/500632\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 Sentry \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 (exception), \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u043b\u0435\u0433\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442, \u043b\u043e\u0432\u0438\u0442 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0438 \u043d\u0430 \u0432\u0430\u0448\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u0411\u0435\u0441\u043f\u043b\u0430\u0442\u0435\u043d, \u0421\u043f\u0438\u0441\u043e\u043a \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0415\u0441\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u0430 \u043a\u0430\u043a \u0440\u0435\u0448\u0435\u043d\u043d\u0430\u044f \u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u043d\u043e\u0432\u0430, \u0442\u043e \u043e\u043d\u0430 \u0441\u043d\u043e\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0438 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435, \u041e\u0448\u0438\u0431\u043a\u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80622,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80621","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 Sentry \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 (exception), \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0431\u043e\u0440\u043a\u0430 sentry \u0438 \u0435\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 rpm. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 sentry \u0438\u0437 rpm, \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 Sentry \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 (exception), \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-07T11:42:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-15T16:59:29+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Bouw van sentry en zijn afhankelijkheden in rpm. Installatie van sentry vanuit rpm, basisconfiguratie | ProHoster","description":"Beschrijving van Sentry \u2014 een tool voor het monitoren van uitzonderingen (exception) en fouten in uw applicaties.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0431\u043e\u0440\u043a\u0430 sentry \u0438 \u0435\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 rpm. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 sentry \u0438\u0437 rpm, \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 | ProHoster","og:description":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 Sentry \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 (exception), \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.","og:url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-07T11:42:58+00:00","article:modified_time":"2021-02-15T16:59:29+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80621","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:14:36","updated":"2022-09-30 12:24:36","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/80621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=80621"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/80621\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/80622"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=80621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=80621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=80621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}