为了账号安全,请及时绑定邮箱和手机立即绑定

Centos7安装Sentry错误跟踪平台(一)

标签:
Python


概述

Sentry 是一款可用于Production环境的错误跟踪工具,可实时通知Production环境中用户由于一些不可预料行为(或者程序写的有问题)导致程序Crash或Exception,Sentry可以通过Integration如HipChat来发送通知,并且可以通过JIRA Integration来快速创建Issue,然后开发者可以根据这个Issue快速修复程序,并把这个已修复的Hotfix快速部署到生产环境,这样就快速开发快速修补。

安装依赖软件

安装Sentry需要以下满足以下条件:

基于UNIX的操作系统

PostgreSQL:版本 9.5 以上,推荐最新版本 9.6

Redis:最低版本 2.8.9, 推荐 2.8.18, 3.0

Python 2.7 +

Pip 8.1+

安装下列软件:python-setuptools python-dev libxslt1-dev gcc libffi-dev libjpeg-dev libxml2-dev libxslt-dev ibyaml-dev libpq-dev

yum -y install openssl-devel python-devel

yum -y install libjpeg-turbo-devel

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

安装redis相对简单,使用 yum 安装即可

####For centos6

#yum安装redis 

yum  -y install redis

# 开启redis

/etc/init.d/redis start

#保持redis开机自启动

chkconfig redis on

安装Sentry

安装软件

安装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.

wKiom1k6CiiAF6sUAAFDPPuaKJE001.png-wh_50

处理方法:把pg_config所在目录加入到环境变量。

wKiom1k6Cs_xCdcwAAEYvDL4pGk847.png-wh_50

相关配置

初始化配置,如果不设置路径的话,默认会生成在 ~/.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

©著作权归作者所有:来自51CTO博客作者SA_小科的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消