Sentry
跳至導覽
跳至搜尋
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端建立應用程式。
- 其中文章裏沒有提到的是Google端的
redirect_uri
設定需要設為https://sentry.example.com/auth/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-compose
的logs -f
看錯誤訊息:
docker-compose logs -f
參考文獻
- ↑ Docs - Installation. [2019-04-22].
外部連結
- 官方網站 (英文)
- Sentry On-Premise setup (英文)
- Docs - Sentry Server (英文)