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
相關文章
相關標籤/搜索