

























Created: 2/9/2026 10:47
Updated: 2/9/2026 10:47
Exported: 2/9/2026 11:11
我私有化sentry后,该怎么完成一系列步骤拿到dsn,我想创建一个python 普通项目,想写如下代码import sentry_sdk sentry_sdk.init( dsn="https://10.10.40.211:9000/cbcb5819cdb87e204712cd04aca77e9a", # Add request headers and IP for users, # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, ) def main(): division_by_zero = 1 / 0 if **name** == "**main**": main() 完成第一个demo的验证
私有化部署的 Sentry(self-hosted / on-premise)拿到 DSN 的完整流程如下,通常大部分人卡在「system.url-prefix」沒設好,導致 DSN 顯示空白或不正確。
確認 Sentry 服務已正常運行
最重要:設定 system.url-prefix(幾乎所有人會漏)
進入 Sentry 容器(假設你用官方 onpremise/docker-compose 方式部署)
# 進到你 clone 下來的 onpremise 目錄
cd /path/to/onpremise
# 編輯 config.yml(如果還沒產生就先執行 ./install.sh)
vim sentry/config.yml
找到或新增這一行(一定要是外部可訪問的真實網址):
system.url-prefix: "http://10.10.40.211:9000"
# 或如果你有域名: system.url-prefix: "https://sentry.yourcompany.com"
# 注意:結尾不要加斜線 /
修改後重啟全部服務:
docker compose down
docker compose up -d
# 或只重啟 web 相關容器
docker compose restart web worker cron
這一步沒做,後面建立 project 時 DSN 欄位會是空的!
建立一個新 Project
拿到 DSN
建立完成後,畫面會直接顯示「Configure Python」頁面
最上面就會看到 DSN,長得像:
http://cbcb5819cdb87e204712cd04aca77e9a@10.10.40.211:9000/2
或
https://cbcb5819cdb87e204712cd04aca77e9a@10.10.40.211:9000/2
如果畫面沒顯示 DSN → 去這裡找:
修正你提供的程式碼(你的 DSN 格式是錯的)
你的範例寫成:
dsn="https://10.10.40.211:9000/cbcb5819cdb87e204712cd04aca77e9a"
這是錯誤格式!自架 Sentry 的 DSN 幾乎都是以下兩種正確寫法之一:
新版推薦(20.x 之後最常見):公钥在前,沒有 secret key
dsn = "http://cbcb5819cdb87e204712cd04aca77e9a@10.10.40.211:9000/2"
# 或 https 如果你有憑證
舊版格式(有 public:secret):少數情況還看得到
dsn = "http://public_key:secret_key@10.10.40.211:9000/2"
正確的 Python demo 程式碼應該長這樣:
import sentry_sdk
sentry_sdk.init(
dsn="http://cbcb5819cdb87e204712cd04aca77e9a@10.10.40.211:9000/2", # ← 改成你真正的 DSN
send_default_pii=True, # 送使用者 IP、request headers 等資訊
traces_sample_rate=1.0, # 正式環境建議調低,例如 0.2
# 如果你要追 performance,可開啟下面這行
# integrations=[sentry_sdk.integrations.tracing.TracingIntegration()],
)
def main():
division_by_zero = 1 / 0 # 故意製造錯誤
if __name__ == "__main__":
main()
照以上步驟做,99% 都能在 5 分鐘內看到第一筆錯誤事件。如果還是卡住,告訴我你看到什麼畫面(特別是建立 project 後的畫面),我再幫你判斷。
添加到聊天
Integrating Sentry with DjangoSentry vs ELK StackAdd HTTPS setup steps
Powered by Grok Exporter
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。