注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com
介绍
Sentry是用于错误跟踪的开源解决方案。 Sentry跟踪来自应用程序的异常和其他有用消息,这些消息和消息通常会写入日志文件,而是使用用户友好的界面。
先决条件
运行Sentry所需的一些基本先决条件:
最新的Ubuntu 16.04服务器。
sudo用户。
安装
首先更新您的系统:
sudo apt-get update
创建将运行软件的哨兵用户:
sudo adduser sentry
sudo adduser sentry sudo
安装 python
和 build-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 https://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 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
用户:
exit
安装主管:
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
。导航 https://you_server_ip:9000
在您喜欢的浏览器中完成Sentry的设置。
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com