introduzione
Sentry è una soluzione open source per il monitoraggio degli errori. Sentry tiene traccia delle eccezioni e di altri messaggi utili dalle applicazioni che tradizionalmente verrebbero scritte nei file di registro e utilizza invece un'interfaccia intuitiva.
Prerequisiti
Alcuni prerequisiti di base necessari per eseguire Sentry:
Installazione
Primo aggiornamento del sistema:
sudo apt-get update
Creare l'utente sentinella che eseguirà il software:
sudo adduser sentry
sudo adduser sentry sudo
Installa python
e build-essential
pacchetti:
sudo apt-get install -y python build-essential
Crea il file /etc/apt/sources.list.d/pgdg.list
:
sudo touch /etc/apt/sources.list.d/pgdg.list
Importa la chiave di firma e aggiorna gli elenchi dei pacchetti:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Installa PostgreSQL:
sudo apt-get install postgresql-9.5
Scarica l'ultima fonte Redis 4.x:
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
Decomprimi il sorgente Redis nella sua cartella, così possiamo cd
inserirlo e compilarlo nel prossimo passaggio:
tar -xvf redis-4.0.1.tar.gz
Costruiscilo dalla fonte:
cd redis-4.0.1
make
Esegui Redis in background:
src/redis-server --daemonize yes
Installa pip
e relative librerie:
cd ~
sudo apt-get install python-setuptools python-dev libxslt1-dev gcc libffi-dev libjpeg-dev libxml2-dev libxslt-dev libyaml-dev libpq-dev python-pip
Installa l'ambiente virtuale Python:
sudo pip install -U virtualenv
Installa postgresql-contrib
:
sudo apt-get install postgresql-contrib-9.5
Accedi come postgres
utente e abilita l' citext
estensione:
sudo su - postgres
$ psql -d template1 -U postgres
psql (9.5.12)
Type "help" for help.
template1=# create extension citext;
CREATE EXTENSION
template1=# \q
Crea il sentry
database:
$ createdb sentry_db
$ createuser sentry --pwprompt
$ psql -d template1 -U postgres
template1=# GRANT ALL PRIVILEGES ON DATABASE sentry_db to sentry;
GRANT
template1=# ALTER USER sentry WITH SUPERUSER;
ALTER ROLE
template1=# \q
exit
Accedi come sentry
utente e crea un ambiente virtuale per Sentry:
sudo su - sentry
virtualenv ~/sentry_app/
source ~/sentry_app/bin/activate
Installa Sentry sulla macchina:
pip install -U sentry
Inizializza Sentry:
sentry init
Questo comando creerà i file di configurazione nella directory ~/.sentry/
.
Apri il file di configurazione ~/.sentry/sentry.conf.py
:
nano ~/.sentry/sentry.conf.py
Quindi aggiungere le credenziali del database. Dovrebbe apparire come il seguente esempio:
DATABASES = {
'default': {
'ENGINE': 'sentry.db.postgres',
'NAME': 'sentry_db',
'USER': 'sentry',
'PASSWORD': 'securedpassword',
'HOST': 'localhost',
'PORT': '5432',
'AUTOCOMMIT': True,
'ATOMIC_REQUESTS': False,
}
}
Inizializza il database:
sentry upgrade
Esecuzione di Sentry come servizio
Disconnettersi sentry
dall'utente:
exit
Installa supervisore:
sudo apt-get install -y supervisor
Configurare il server Sentry per l'avvio ogni volta che il server si avvia utilizzando supervisord
. Inserisci la seguente configurazione nel file /etc/supervisor/conf.d/sentry.conf
:
[program:sentry-web]
directory=/home/sentry/sentry_app/
environment=SENTRY_CONF="/home/sentry/.sentry"
command=/home/sentry/sentry_app/bin/sentry run web
autostart=true
autorestart=true
redirect_stderr=true
user=sentry
stdout_logfile=syslog
stderr_logfile=syslog
[program:sentry-worker]
directory=/home/sentry/sentry_app/
environment=SENTRY_CONF="/home/sentry/.sentry"
command=/home/sentry/sentry_app/bin/sentry run worker
autostart=true
autorestart=true
redirect_stderr=true
user=sentry
stdout_logfile=syslog
stderr_logfile=syslog
[program:sentry-cron]
directory=/home/sentry/sentry_app/
environment=SENTRY_CONF="/home/sentry/.sentry"
command=/home/sentry/sentry_app/bin/sentry run cron
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=syslog
stderr_logfile=syslog
Salvare il file e ricaricare il supervisore:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start all
Sentry è ora configurato e ascolta sulla porta 9000
. Passare a http://you_server_ip:9000
nel browser preferito per completare l'impostazione di Sentry.