Sentry

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索

Sentry是一套蒐集錯誤訊息的軟體,或是對應的雲端服務。

硬體

官方推估每天處理四百萬的事件,資料保留90天,大約需要1.5 TB的空間[1]

簡介

Sentry提供SDK在用戶端安裝後就可以蒐集錯誤資訊,並且在伺服器上分類並提供介面讓維護者可以確認情況。

Python 3

目前Sentry的伺服器端使用Python 2.7開發(目前不支援Python 3),而且沒有任何計畫開發Python 3的版本,由於Python 2預定在2020年後將不會有安全性更新,這是目前社群比較擔心的問題。

安裝

這邊以Ubuntu 18.04為作業系統,請先參考Python安裝Python本身需要的套件。再安裝Sentry所需要用到的套件:

sudo apt install -y gcc libffi-dev libgeoip-dev libjpeg-dev libpq-dev libxml2-dev libxslt1-dev libxslt-dev libyaml-dev nodejs python-dev python-setuptools

另外需要安裝RedisPostgreSQL,量大的可以考慮裝在不同台機器上,或是使用雲端服務:

sudo apt install -y postgresql-all redis-server

接下來安裝Sentry本體:

pip install sentry

設定

先投過指令產生config.ymlsentry.conf.py兩個設定檔:

sentry init

這樣會在~/.sentry/下產生這兩個檔案。官方文件上有說明希望之後都轉移到config.yml,但目前還有許多東西在舊的sentry.conf.py[2]。如果想要放在其他地方,可以指定路徑:

sentry init /etc/sentry

這邊我們先以預設值的方式進行設定。首先先修改postgres這個帳號的密碼,並且修改sentry.conf.py內對應的欄位,要注意不能是空的。

接下來把PostgreSQL的資料庫建出來:

sudo -u postgres createdb -E utf-8 sentry

然後把資料庫建出來,我在建立的過程中間有遇到OOM,再跑一次就好:

sentry upgrade

參考文獻

  1. Docs - Installation. [2019-04-22]. 
  2. Docs - Installation with Python. [2019-04-22]. 

外部連結