Sentry

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋

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

硬體

官方的GitHub頁面上會更新目前最新版本需要的硬體規格。

官方推估每天處理四百萬的事件,資料保留90天,大約需要1.5 TB的空間[1]。目前測過的版本(23.9.1)在跑一陣子後大約需要9GB的記憶體空間。

簡介

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

安裝

這邊以Ubuntu 22.04為作業系統,需要先安裝Docker與Docker Compose(要注意得安裝Ubuntu套件庫提供的版本),並且設定權限:

sudo apt install docker-compose
sudo groupadd -g 9000 service-sentry
sudo useradd -g 9000 -G docker -m -s /bin/bash -u 9000 service-sentry

然後裝到service-sentry下:

sudo su - service-sentry -c "git clone https://github.com/getsentry/self-hosted.git; cd self-hosted; git checkout 24.4.1; ./install.sh; docker compose up -d"

裝完後會在Port 9000執行提供服務,可以透過nginx轉發對應的連線需求。

升級

請務必先參考Self-Hosted Releases & Upgrading文件上的說明,有些版本是需要先升級到某個中間版本才能往後繼續升級,像是目前看到的說明:

<your.sentry.version> -> 9.1.2 -> 21.5.0 -> 21.6.3 -> 23.6.2 -> latest

升級的方式是切到self-hosted目錄下跑./install.sh

cd self-hosted; docker compose down; git pull; git checkout 24.4.1; ./install.sh; docker compose up -d

設定

Google OAuth

參考Self-Hosted Single Sign-On (SSO)這邊的設定:

  • 需要先到Google端建立應用程式。
  • 再把應用程式對應的client id與client secret填到sentry/config.yml內,停掉Sentry後跑./install.sh,再重啟Sentry。
  • superuser的權限不好搞,建議先用docker compose run --rm web sentry createuser把自己帳號建好再啟用Google SSO。

Slack

參考Slack Integration這邊的設定。

除錯

可以先用docker-composelogs -f看錯誤訊息:

docker-compose logs -f

參考文獻

  1. Docs - Installation. [2019-04-22]. 

外部連結