Sentry 的 License 不是 Open Source License...

前一篇「Sentry 的替代品:GlitchTip」我自己提到:

Sentry 本身已經是 open source software 了

結果在 HN 上面馬上就看到討論:「Sentry: From the Beginning (cra.mr)」,其中 id=38097463 這邊提到:

The article doesn't appear to mention that Sentry abandoned open source.

LICENSE 這個檔案的記錄 History for LICENSE 裡慢慢翻,可以翻到 Apache License, Version 2.0 是在 2589cbef43659151e70fd3d20eb8b34d7f1f574f (2019/06/11) 這邊加進去的,而變成 BSL 是在 e2b7c743af70e192588d843512412e653eddab17 (2019/11/07) 這邊發生的,另外也有對應的 blog 文章:「Re-Licensing Sentry」。

Sentry 的替代品:GlitchTip

GlitchTipSentry 的替代品,你仍然可以用 Sentry SDK 發送錯誤訊息,但接收端則是換成 GlitchTip。

Sentry 本身已經是 open source software 了 (可以在 getsentry/self-hosted 這邊裝) (參考「Sentry 的 License 不是 Open Source License...」),但最近的版本愈來愈肥,8GB RAM + 512MB Swap 的機器,光跑起來就蠻吃緊的。

對於在 AWS 的人來說,這等於被迫要用 16GB RAM 的機器跑 Sentry,像是 r6a.large (在 us-east-1 為 $0.1134/hr,約 $81.6/mo),如果是一年 RI 的話可以六折,三年 RI 可以四折,是有點費用,但這個費用對於公司用戶來說通常沒有太大問題。

GCP 的話也類似,但可以開 10GB RAM 來用,真的有用到的時候再逐步拉高記憶體空間,不過成本結構跟 AWS 是差不多的,所以對於公司也不是太大問題。

但對個人來說,光一個 Sentry 一個月就得花個 $80/mo 實在是太貴,而且考慮到這兩年的 Sentry 愈來愈沒有在管記憶體用量了:從之前 4GB RAM 能跑,到現在 8GB RAM 光開機就沒有 free memory,可以想像之後應該會愈來愈肥,所以試著找了替代方案。

目前看到的替代方案是 GlitchTip,在 server 端吃同樣的 input,所以 client 端可以維持原來的 sentry sdk,可以用雲端服務,也可以自己架設:「GlitchTip Installation Guide」。

跑起來後大約吃 500MB RAM,基本的功能都有,包括基本的 event group & call stack information,以及常用的 integration (像是 E-mail 通知與 Slack 通知),但畫面上沒有 Sentry 那麼好看,不過還算是乾淨。

有些功能要找文件 trial and error,跟 Sentry 文件相比起來完整度差一點,但還行...。

目前看起來自己用可以用這個,Sentry 真的太胖了...

原來 Sentry 有支援 Bash...

Sentry 可以拿來蒐集自己開發軟體的錯誤事件,剛剛突發奇想用搜尋引擎找了一下,發現 Sentry 是有支援 Bash 的:「Sending Sentry Events from Bash」。

文章裡面也直接提到了 hook 的用法,在裝了 sentry-cli 後可以掛進來:

#!/bin/bash
export SENTRY_DSN=
eval "$(sentry-cli bash-hook)"

自己架 Sentry 的步驟我有丟在「Sentry」這邊,或者也可以用雲端的版本。

丟給同事參考看看...