安装
mkdir -p /root/docker/sentry && cd /root/docker/sentry
git clone https://github.com/getsentry/self-hosted.git ./
配置邮件(可选) vim sentry/config.yml
mail.host: 'smtp.gmail.com'
mail.port: 465
mail.username: 'admin@gmail.com'
mail.password: 'XXXXXXXXXXX'
mail.use-ssl: true
mail.from: 'Sentry <admin@gmail.com>'
部署
./install.sh # 按提示输入 n,然后填写邮箱和密码
docker-compose up -d
初始配置
- 访问后设置 Root URL,如
https://sentry.example.com - 设置 → 我的账户 → 修改语言和时区
创建项目
项目 → 创建项目 → Go → 填写项目名和团队 → 保存
查看 DSN:项目设置 → 客户端密钥(DSN)
Go SDK 接入
err := sentry.Init(sentry.ClientOptions{
Dsn: "你的DSN",
TracesSampleRate: 1.0,
Release: "app:1.0",
Environment: "prod",
})
if err != nil {
log.Fatal(err)
}
defer sentry.Flush(2 * time.Second)
// 上报错误
sentry.CaptureMessage("自定义消息")
sentry.CaptureException(err)
// 上报自定义级别事件
event := sentry.NewEvent()
event.Level = sentry.LevelWarning
event.Message = "警告信息"
sentry.CaptureEvent(event)
注:默认异步上报;将 DSN 置空可禁用上报。