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

概述

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

安装依赖软件

安装Sentry须要如下知足如下条件:web

  • 基于UNIX的操做系统redis

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

  • Redis:最低版本 2.8.9, 推荐 2.8.183.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

安装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
相关文章
相关标签/搜索