introduction
Sentry est une solution open source pour le suivi des erreurs. Sentry suit les exceptions et autres messages utiles provenant d'applications qui seraient traditionnellement écrits dans des fichiers journaux et utilise à la place une interface conviviale.
Conditions préalables
Quelques prérequis de base dont vous aurez besoin pour exécuter Sentry:
Installation
Mettez d'abord à jour votre système:
sudo apt-get update
Créez l'utilisateur sentinelle qui exécutera le logiciel:
sudo adduser sentry
sudo adduser sentry sudo
Installation python
et build-essential
packages:
sudo apt-get install -y python build-essential
Créez le fichier /etc/apt/sources.list.d/pgdg.list
:
sudo touch /etc/apt/sources.list.d/pgdg.list
Importez la clé de signature et mettez à jour les listes de packages:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Installez PostgreSQL:
sudo apt-get install postgresql-9.5
Téléchargez la dernière source Redis 4.x:
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
Décompressez la source Redis dans son propre dossier, afin que nous puissions l' cd
intégrer et la créer à l'étape suivante:
tar -xvf redis-4.0.1.tar.gz
Construisez-le à partir de la source:
cd redis-4.0.1
make
Exécutez Redis en arrière-plan:
src/redis-server --daemonize yes
Installation pip
et bibliothèques associées:
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
Installez l'environnement virtuel Python:
sudo pip install -U virtualenv
Installer postgresql-contrib
:
sudo apt-get install postgresql-contrib-9.5
Connectez-vous en tant postgres
qu'utilisateur et activez l' citext
extension:
sudo su - postgres
$ psql -d template1 -U postgres
psql (9.5.12)
Type "help" for help.
template1=# create extension citext;
CREATE EXTENSION
template1=# \q
Créez la sentry
base de données:
$ 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
Connectez-vous en tant sentry
qu'utilisateur et créez un environnement virtuel pour Sentry:
sudo su - sentry
virtualenv ~/sentry_app/
source ~/sentry_app/bin/activate
Installez Sentry sur la machine:
pip install -U sentry
Initialiser Sentry:
sentry init
Cette commande créera les fichiers de configuration dans le répertoire ~/.sentry/
.
Ouvrez le fichier de configuration ~/.sentry/sentry.conf.py
:
nano ~/.sentry/sentry.conf.py
Ajoutez ensuite les informations d'identification de la base de données. Il devrait ressembler à l'exemple suivant:
DATABASES = {
'default': {
'ENGINE': 'sentry.db.postgres',
'NAME': 'sentry_db',
'USER': 'sentry',
'PASSWORD': 'securedpassword',
'HOST': 'localhost',
'PORT': '5432',
'AUTOCOMMIT': True,
'ATOMIC_REQUESTS': False,
}
}
Initialisez la base de données:
sentry upgrade
Exécution de Sentry en tant que service
Déconnectez-vous de l' sentry
utilisateur:
exit
Installer le superviseur:
sudo apt-get install -y supervisor
Configurez le serveur Sentry pour qu'il démarre au démarrage du serveur à l'aide de supervisord
. Mettez la configuration suivante dans le fichier /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
Enregistrez le fichier et rechargez le superviseur:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start all
Sentry est maintenant configuré et écoute sur le port 9000
. Accédez à http://you_server_ip:9000
dans votre navigateur préféré pour terminer la configuration de Sentry.