{"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\/it\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka","title":{"rendered":"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3 id=\"opisanie\">Descrizione<\/h3>\n<p><strong>Sentry<\/strong> \u2014 uno strumento di monitoraggio per eccezioni e errori nelle tue applicazioni.<\/p>\n<p><strong>Funzionalit\u00e0 principali:<\/strong><\/p>\n<ul>\n<li>si integra facilmente nel progetto,<\/li>\n<li>cattura errori sia nel browser dell'utente che sul tuo server.<\/li>\n<li>\u00c8 gratuito,<\/li>\n<li>la lista degli errori viene aggiornata in tempo reale,<\/li>\n<li>se un errore \u00e8 stato contrassegnato come risolto e si ripresenta, viene generato nuovamente e considerato in un flusso separato,<\/li>\n<li>gli errori vengono raggruppati e mostrati in base alla frequenza di apparizione,<\/li>\n<li>\u00e8 possibile filtrare gli errori per stato, fonte di logging, livello di logging, nome del server, ecc.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p>Confronto con i log ELK: <strong>la cosa principale \u00e8 che in ELK ogni nuovo log simile \u00e8 una voce separata, mentre in Sentry ogni nuova eccezione simile \u00e8 solo + 1 al conteggio della sua voce.<\/strong><\/p>\n<p>Sentry supporta la maggior parte dei linguaggi di programmazione. Maggiori dettagli <noindex><a rel=\"nofollow\" href=\"https:\/\/sentry.io\/platforms\/\">qui<\/a><\/noindex>.<\/p>\n<h3 id=\"zapusk-sentry-s-pomoschyu-docker-i-docker-compose\">Avvio di Sentry utilizzando Docker e docker-compose<\/h3>\n<p>Puoi avviare Sentry utilizzando Docker e docker-compose come descritto qui: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/getsentry\/onpremise\">https:\/\/github.com\/getsentry\/onpremise<\/a><\/noindex>. Tuttavia, lo script avvia su questo stesso server le ulteriori service in modalit\u00e0 singola (senza tolleranza ai guasti) (Per la versione Sentry 10.0.0):<\/p>\n<ul>\n<li>data<\/li>\n<li>postgres<\/li>\n<li>redis<\/li>\n<li>zookeeper<\/li>\n<li>kafka<\/li>\n<li>clickhouse<\/li>\n<li>symbolicator<\/li>\n<\/ul>\n<p>Se hai bisogno di resilienza, dovrai utilizzare un prodotto cloud pianificato oppure installare Sentry senza questo script.<\/p>\n<p>In questo post viene descritto il processo di compilazione di Sentry e delle sue dipendenze in rpm. Se devi installare Sentry dove non c'\u00e8 internet, puoi creare un repository yum dagli rpm ottenuti.<\/p>\n<h3 id=\"vazhnoe-utochenie-po-sborke-i-ustanovke-paketov\">Importante chiarimento sulla compilazione e installazione dei pacchetti<\/h3>\n<p>Alcuni pacchetti dipendono l'uno dall'altro. Pertanto, il processo di compilazione e installazione \u00e8 suddiviso in pi\u00f9 fasi.<\/p>\n<h4 id=\"todo\">TODO:<\/h4>\n<p>In questo post viene trattata la compilazione e l'installazione di Sentry versione 9.1.2. Dopo che gli sviluppatori rilasceranno un paio di versioni minori, sar\u00e0 possibile compilare anche la versione Sentry 10.X.Y. Molti degli ultimi commit nel master sono fix.<\/p>\n<h3 id=\"trebovaniya-k-serveru-dlya-sborki-rpm\">Requisiti del server per la compilazione dell'rpm<\/h3>\n<p>Maggiore \u00e8 la CPU, pi\u00f9 veloce sar\u00e0 la compilazione dei pacchetti semaphore e symbolic.<\/p>\n<h3 id=\"vyklyuchaem-selinux\">Disattiviamo Selinux<\/h3>\n<p>La comunit\u00e0 sar\u00e0 favorevole se qualcuno scriver\u00e0 politiche selinux per Sentry.<\/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\">Collegiamo il repository epel-release<\/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\">Compiliamo le dipendenze pip in rpm e le installiamo. File 1general_dependencies.sh<\/h3>\n<pre><code class=\"plaintext\">echo \"Installa le dipendenze\"\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 \"Costruisci le dipendenze pip comuni in rpm usando fpm\"\ngem install --no-document fpm\necho \"Per chardet==3.0.2 \u00e8 necessario setuptools&gt;=12\"\necho \"Per cryptography==2.8 \u00e8 necessario setuptools&gt;=18.5\"\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\">Installiamo e avviamo PostgreSQL 9.6 per la costruzione di python-psycopg2-binary. File 2psycopg2-binary.sh<\/h3>\n<p>Puoi cambiare la versione di PostgreSQL nello script.<\/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\">Costruiamo e installiamo l'rpm di python-dateutil. File 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\">Costruiamo e installiamo l'rpm di python-urllib3. File 4urllib3.sh<\/h3>\n<p><b class=\"spoiler_title\">Titolo del riquadro collapsible<\/b><\/p>\n<pre><code class=\"plaintext\">echo \"Costruisci le dipendenze pip in rpm tramite fpm per 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 \"Costruisci rpm per urllib\"\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\">Costruiamo in rpm le altre dipendenze pip e le installiamo. File 5other_dependencies.sh<\/h3>\n<p><b class=\"spoiler_title\">Titolo del riquadro collapsible<\/b><\/p>\n<pre><code class=\"plaintext\">echo \"Build rpm by 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\">Configurazione di rpm sentry e installazione. File 6sentry.sh<\/h3>\n<pre><code class=\"plaintext\">echo \"Installa nodejs e 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\">Installazione di sentry rpm con dipendenze su un altro server<\/h2>\n<h3 id=\"vyklyuchaem-selinux-1\">Disattiviamo Selinux<\/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\">Collegiamo il repository epel-release<\/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\">Installiamo e avviamo PostgreSQL 9.6. File 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: Verificare senza diritti superuser per il ruolo 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\">Eseguiamo la migrazione (creazione dello schema del DB) e avviamo i servizi. File 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\">Creiamo un amministratore interno di Sentry<\/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\">Costruzione di sentry in rpm, installazione, configurazione per pigri<\/h3>\n<h4 id=\"vyklyuchaem-selinux-2\">Disattiviamo Selinux<\/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\">Eseguiamo script per la costruzione e l'installazione di 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\nCopiamo rpm da rpmbuild\/RPMS e dalla radice di sentry-rpm sul server di destinazione. Creiamo un repo yum. Installiamo tutti i pacchetti rpm costruiti.\n.\/7postgresql.sh\n.\/8start_sentry.sh<\/code><\/pre>\n<h4 id=\"sozdaem-vnutrennego-administratora-sentry-1\">Creiamo un amministratore interno di Sentry<\/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\">Testing dell'invio delle eccezioni<\/h3>\n<p>Testeremo su un progetto Java. Scarichiamo Java e 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>Ora dobbiamo avviare Java passando SENTRY_DSN<\/p>\n<pre><code class=\"plaintext\">SENTRY_DSN=https:\/\/public:private@host:port\/1 mvn exec:java<\/code><\/pre>\n<p>Ora bisogna trovare il SENTRY_DSN generato per impostazione predefinita.<\/p>\n<p>Accediamo a Sentry. Andiamo al progetto predefinito <code>interno.<\/code><\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/e96517368c38665099f38b5c8daca554.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>o<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/4c32d1648e7a44b52a74f340ba5ebea1.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Passiamo alle impostazioni del progetto.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/66e823df5257057a4be9daa7b40ec75b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Andiamo su Chiavi Client (DSN).<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/4b954af756eb08acab5e05586357ac1c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Copia il DSN. Questo \u00e8 il SENTRY_DSN.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/e02d120cfba7d36fa3062542f83213e0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Avviamo Java con questo parametro.<\/p>\n<pre><code class=\"plaintext\">SENTRY_DSN=http:\/\/633e7361061d4dcaaca53877c4c0e80a@172.26.9.34:9000\/1 mvn exec:java<\/code><\/pre>\n<p>Visitiamo questa situazione.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/983320edf8893aaac8fd5f1058d9b998.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Se passiamo a <code>UnsupportedOperationException<\/code>, vedremo informazioni dettagliate.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/8403b7b9ac58edd870f6e974ba2df522.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"Installazione di Sentry e delle sue dipendenze in rpm. Configurazione di base di Sentry con rpm\" src=\"\/wp-content\/uploads\/2020\/05\/82311a529e42117e2b615e15369bddb9.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h4 id=\"sozdal-telegram-chat-po-sentry\">Ho creato un chat Telegram per 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\">Nei prossimi episodi:<\/h4>\n<ul>\n<li>Testare LDAP. Ho gi\u00e0 preparato lo script. <code>9sentry-ldap-auth.sh<\/code><\/li>\n<li>Testare la versione di Sentry 10.0.X dopo l'uscita di un paio di versioni minori.<\/li>\n<\/ul>\n<h4 id=\"repozitoriy-so-skriptami\">Repository con gli script:<\/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>Fonte: <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 4.9.10 - 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. \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\" \/>\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\/it\/blog\/administrirovanie\/sborka-sentry-i-ego-zavisimostej-v-rpm-ustanovka-sentry-iz-rpm-bazovaya-nastrojka\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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. \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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\udd47Compilazione di Sentry e delle sue dipendenze in rpm. Installazione di Sentry da rpm, configurazione di base | ProHoster","description":"Descrizione di Sentry \u2014 uno strumento per il monitoraggio delle eccezioni, degli errori nelle vostre applicazioni. Funzionalit\u00e0 principali: si integra facilmente nel progetto, cattura errori sia nel browser dell'utente che sul vostro server. Gratuito, la lista degli errori viene aggiornata in tempo reale. Se un errore \u00e8 stato contrassegnato come risolto e si ripresenta, viene nuovamente creato e considerato in un flusso separato. Gli errori vengono raggruppati.","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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. \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","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/80621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=80621"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/80621\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/80622"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=80621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=80621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=80621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}