Sentry 是一款可用于Production环境的错误跟踪工具,可实时通知Production环境中用户因为一些不可预料行为(或者程序写的有问题)致使程序Crash或Exception,Sentry能够经过Integration如HipChat来发送通知,而且能够经过JIRA Integration来快速建立Issue,而后开发者能够根据这个Issue快速修复程序,并把这个已修复的Hotfix快速部署到生产环境,这样就快速开发快速修补。python
安装依赖软件
安装Sentry须要如下知足如下条件:web
基于UNIX的操做系统redis
PostgreSQL:版本
9.5
以上,推荐最新版本9.6
sqlRedis:最低版本
2.8.9
, 推荐2.8.18
,3.0
数据库Python 2.7 +django
Pip 8.1+vim
安装下列软件:python-setuptools python-dev libxslt1-dev gcc libffi-dev libjpeg-dev libxml2-dev libxslt-dev ibyaml-dev libpq-devcentos
yum -y install openssl-devel python-develbash
yum -y install libjpeg-turbo-develdom
yum -y install postgresql96-devel.x86_64
安装PostgreSQL
安装新版的yum源
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm经过postgreSQL安装postgresql96
、postgresql96-devel
、postgresql96-libs
、postgresql96-server
四项便可。
至此,新版 PostgreSQL
就安装好了,接下来是作些链接配置:
$ vim /var/lib/pgsql/9.6/data/pg_hba.conf
将相关链接的 Method
改成 trust
:
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident
安装redis相对简单,使用 yum
安装便可
####For centos6 #yum安装redis yum -y install redis # 开启redis /etc/init.d/redis start #保持redis开机自启动 chkconfig redis on
安装virtualenv
$ # 安装环境 $ pip install -U virtualenv $ virtualenv /www/sentry/ $ source /www/sentry/bin/activate $ # 安装sentry $ pip install -U sentry
1.Error: pg_config executable not found.
处理方法:把pg_config所在目录加入到环境变量。
初始化配置,若是不设置路径的话,默认会生成在 ~/.sentry
目录中,推荐使用默认路径。初始化配置包含两个文件,分别是 config.yml
和 sentry.conf.py
。
$ sentry init
邮件配置项保存在 config.yml 文件中,Sentry 收到异常时会给本身的邮箱发送邮件通知, 因此须要配置下邮件,固然也能够不启用,但不建议这样作。 # 若是不想启用邮件通知,能够将 mail.backend 设置为 dummy mail.backend: 'smtp' mail.host: 'localhost' mail.port: 25 mail.username: '' mail.password: '' mail.use-tls: false mail.from: 'sentry@localhost'
数据库配置项保存在 sentry.conf.py
文件中,使用默认便可,只须要修改 HOST
和 PORT
项。
# ~/.sentry/sentry.conf.py # for more information on DATABASES, see the Django configuration at: # https://docs.djangoproject.com/en/1.6/ref/databases/ DATABASES = { 'default': { 'ENGINE': 'sentry.db.postgres', 'NAME': 'sentry', 'USER': 'postgres', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '5432', } }
建立数据库
createdb -U postgres -E utf-8 sentry
执行数据更新,数据填充完成后会提示是否建立用户,能够选择不建立后续再建立
$ sentry upgrade $ # 若是没有使用默认目录的话,须要使用以下命令 $ # SENTRY_CONF=/path/to/sentry sentry upgrade
建立用户,须要填写邮箱和密码,建立好后会提示是否做为超级用户,根据本身状况选择便可。
$ sentry createuser $ # 若是没有使用默认目录的话,须要使用以下命令 $ # SENTRY_CONF=/path/to/sentry sentry createuser
开启 web
服务,开启后能够访问 http://[IP或域名]:[前面配置的端口]
进行访问。
初始化配置,若是不设置路径的话,默认会生成在 ~/.sentry
目录中,推荐使用默认路径。初始化配置包含两个文件,分别是 config.yml
和 sentry.conf.py
。
$ sentry run web $ # 若是没有使用默认目录的话,须要使用以下命令 $ # SENTRY_CONF=/path/to/sentry sentry run web
开启后台 worker
服务
sentry run worker worker服务默认不可以使用Root帐号启动,使用一下命令可用root用户启动 $ # export C_FORCE_ROOT="true" $ # 若是没有使用默认目录的话,须要使用以下命令 $ # SENTRY_CONF=/path/to/sentry sentry run worker
开启 cron
进程
$ sentry run cron $ # 若是没有使用默认目录的话,须要使用以下命令 $ # SENTRY_CONF=/path/to/sentry sentry run cron
关闭自动注册
在sentry.conf.py文件中添加如下两行,并重启服务 SENTRY_FEATURES['auth:register'] = False SENTRY_FEATURES['social-auth:register'] = False