Cómo Instalar Sentry con Python en Ubuntu 18.04

Sentry es una aplicación gratuita y de código abierto de Python para el tracking de errores. Se puede utilizar para monitorear y corregir errores a tiempo real. Sentry te avisa por correo electrónico y SMS cuando surgen o se repiten errores. Se puede integrar con una gran cantidad de aplicaciones, incluyendo Bitbucket, GitHub, GitLab, Jira, Trello, Redmine y más.

En este tutorial, aprenderemos cómo configurar Sentry con Python en Ubuntu 18.04.

Requisitos

  • Un servidor cloud corriendo con Ubuntu 18.04.
  • Un password root establecido en tu servidor.

Actualiza tu Servidor

Antes de comenzar, te recomendamos que actualices tus paquetes con la última versión. Puedes actualizar todos tus paquetes con el siguiente comando:

# apt-get update -y
# apt-get upgrade -y

Una vez que se actualice el sistema, reinicia tu servidor para aplicar todos los cambios de configuración.

Instala los Paquetes Necesarios 

A continuación, deberás instalar algunos paquetes requeridos por Sentry. Puedes instalarlos todos con el siguiente comando:

# apt-get install python build-essential python-setuptools python-dev libxslt1-dev gcc libffi-dev libjpeg-dev libxml2-dev libxslt-dev libyaml-dev libpq-dev python-pip -y

Una vez que se hayan instalado todos los paquetes, descarga la última versión de Redis con el siguiente comando:

# wget http://download.redis.io/releases/redis-4.0.1.tar.gz

Después de descargar, descomprime el archivo descargado con el siguiente comando:

# tar -xvf redis-4.0.1.tar.gz

A continuación, cambia el directorio a redis-4.0.1 e instálalo con el siguiente comando:

# cd redis-4.0.1
# make

A continuación, ejecuta el Redis en el background con el siguiente comando:

# src/redis-server --daemonize yes

A continuación, instala el entorno virtual de Python con el siguiente comando:

# pip install -U virtualenv

Instala y Configura PostgreSQL

Por defecto, la última versión de PostgreSQL no está disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, tendrás que agregar el repositorio.

Puedes hacerlo con el siguiente comando:

# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

A continuación, actualiza el repositorio e instala PostgreSQL con el siguiente comando:

# apt-get update -y
# apt-get install postgresql-9.5 -y

A continuación, inicia sesión con el usuario de Postgres y habilita la extensión de citext con el siguiente comando:

# su - postgres
# psql -d template1 -U postgres
# template1=# create extension citext;

A continuación, cree la base de datos para sentry con el siguiente comando:

# createdb sentrydb
# createuser sentry --pwprompt
# psql -d template1 -U postgres

A continuación, otorga todos los privilegios a la base de datos de Sentry con el siguiente comando:

# template1=# GRANT ALL PRIVILEGES ON DATABASE sentrydb to sentry;
# template1=# ALTER USER sentry WITH SUPERUSER;

Finalmente, sal de Postgres con el siguiente comando:

# template1=# \q

Instala Sentry

Primero, crea un usuario para Sentry con el siguiente comando:

# adduser sentry

A continuación, inicia sesión con el usuario de Sentry y crea un entorno virtual para Sentry con el siguiente comando:

# su - sentry
# virtualenv ~/sentry_app/

A continuación, activa el entorno virtual con el siguiente comando:

# source ~/sentry_app/bin/activate

A continuación, instala Sentry con el siguiente comando:

# pip install -U sentry

A continuación, inicializa Sentry con el siguiente comando:

# sentry init

El comando anterior creará un archivo de configuración de Sentry en ~ / .sentry / sentry.conf.py.

Ahora, abre el archivo de configuración como se muestra a continuación:

 nano ~/.sentry/sentry.conf.py 

Actualiza las siguientes líneas según tu base de datos:

DATABASES = {

   'default': {

    'ENGINE': 'sentry.db.postgres',

    'NAME': 'sentrydb',

    'USER': 'sentry',

    'PASSWORD': 'password',

    'HOST': 'localhost',

    'PORT': '5432',

    'AUTOCOMMIT': True,

    'ATOMIC_REQUESTS': False,

    }

  }

Guarda el archivo. Luego, inicia la base de datos con el siguiente comando:

# sentry upgrade

A continuación, sal del usuario de Sentry con el siguiente comando:

# exit

Configura Sentry para Ejecutarlo como un servicio

A continuación, deberás instalar y configurar el Supervisor para iniciar Sentry automáticamente después de reiniciar el sistema.

Primero, instala el Supervisor con el siguiente comando:

# apt-get install supervisor -y

A continuación, crea el archivo de configuración de Sentry con el siguiente comando:

# nano /etc/supervisor/conf.d/sentry.conf

Añade las siguientes líneas:

[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

Guarda y cierra el archivo. Luego, vuelve a cargar Supervisor con el siguiente comando:

# supervisorctl reread
# supervisorctl update
# supervisorctl start all

¡Sentry ya está instalado y funcionando en el puerto 9000!

Sólo tienes que abrir tu navegador web y escribir la URL: http: // tu-servidor-ip: 9000 y completar la configuración.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.