官方文档

安装

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

初始配置

  1. 访问后设置 Root URL,如 https://sentry.example.com
  2. 设置 → 我的账户 → 修改语言和时区

创建项目

项目 → 创建项目 → 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 置空可禁用上报。