在Ubuntu 16.04上,通过python安装Sentry

・7 分钟阅读

使用不同的系统?

介绍

sentinel是一个用于错误跟踪的开源解决方案,Sentry具有用户友好的界面,跟踪传统上写入日志文件的应用程序中的异常和其他有用消息。

前提条件

为了运行Sentry,你需要具备一些基本的先决条件:

  • 一个最新的Ubuntu 16.04服务器
  • 一个sudo用户。

安装

首先更新你的系统:

 
sudo apt-get update

 

创建将要运行软件的Sentry用户:


sudo adduser sentry
sudo adduser sentry sudo

安装pythonbuild-essential软件包:


sudo apt-get install -y python build-essential

创建文件/etc/apt/sources.list.d/pgdg.list


sudo touch /etc/apt/sources.list.d/pgdg.list

导入签名密钥和更新软件包列表:


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

安装PostgreSQL :


sudo apt-get install postgresql-9.5

下载最新的Redis 4.x源:


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

将Redis源代码解压到自己的文件夹中,这样我们就可以在下一步中进行cd,并且构建它:


tar -xvf redis-4.0.1.tar.gz

从源代码生成:

 
cd redis-4.0.1
make

 

在后台运行Redis :


src/redis-server --daemonize yes

安装pip和相关库:


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

安装python虚拟环境:


sudo pip install -U virtualenv

安装postgresql-contrib


sudo apt-get install postgresql-contrib-9.5

作为postgres用户登录,并启用citext扩展:


sudo su - postgres
$ psql -d template1 -U postgres
psql (9.5.12)
Type"help" for help.
template1=# create extension citext;
CREATE EXTENSION
template1=# q

创建sentry数据库:


$ 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

作为sentry用户登录,并为Sentry创建一个虚拟环境:


sudo su - sentry
virtualenv ~/sentry_app/
source ~/sentry_app/bin/activate

在机器上安装Sentry:


pip install -U sentry

初始化Sentry:

 
sentry init

 

此命令会在目录~/.sentry/中创建配置文件。

打开配置文件~/.sentry/sentry.conf.py


nano ~/.sentry/sentry.conf.py

然后添加数据库凭据,它应该类似于下面的例子:


DATABASES = {
 'default': {
 'ENGINE': 'sentry.db.postgres',
 'NAME': 'sentry_db',
 'USER': 'sentry',
 'PASSWORD': 'securedpassword',
 'HOST': 'localhost',
 'PORT': '5432',
 'AUTOCOMMIT': True,
 'ATOMIC_REQUESTS': False,
 }
}

初始化数据库:

 
sentry upgrade

 

作为服务运行Sentry

注销sentry用户:

 
exit

 

安装Supervisor:


sudo apt-get install -y supervisor

将Sentry配置为每当服务器使用supervisord启动时启动,将以下配置放入文件/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

保存文件并重新加载Supervisor:


sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start all

Sentry已经配置好了,并在端口9000上监听,在浏览器中导航到http://you_server_ip:9000以完成设置Sentry。

Zuoxiaojuan profile image