sentry安装和使用

安装

官方文档

拉代码

mkdir /root/docker/sentry
cd /root/docker/sentry
git clone https://github.com/getsentry/self-hosted.git ./

配置邮箱 (可选)

用于发警报邮件, 也可以部署完成后再配置, 需要重启docker

vim sentry/config.yml  
搜索mail.host

mail.host: 'smtp.gmail.com'
mail.port: 465
mail.username: 'admin@gmail.com'
mail.password: 'XXXXXXXXXXX'
mail.use-ssl: true

mail.from: '错误的钢铁侠 <admin@admin@gmail.com>'

部署

# 这一步需要下载好几个G, 很慢
./install.sh 
选 n
你的邮箱: xxxxx@gmail.com
你的密码: xxxxxx
确认密码: xxxxxx

docker-compose up -d

登录

用你的邮箱和密码登录, 需要配置 Root URL, 如: https://sentry.你的域名.com

修改语言和时区 设置->我的账户->语言 设置->我的账户->时区

创建项目

项目->创建项目->Go
设置项目名称和团队 保存

查看DSN: 项目->单个项目右上角的设置->客户端秘钥(DSN)

客户端

官方文档

  • 注: 默认异步, 想不发送, DSN配置为空
    err := sentry.Init(sentry.ClientOptions{
		Dsn:              "你的DSN",
		TracesSampleRate: 1.0,
		Release:          "sentry_test:1.0",
		Environment:      "dev",
		Debug:            true,
	})
	if err != nil {
		...
	}
	defer sentry.Flush(2 * time.Second)
    var err error
	sentry.CaptureMessage("kkk我是字符串错误")
	//err = errors.New("kkk我是一个new出来的错误")
	err = fmt.Errorf("aaa我是一个fmtErrorf错误")
	sentry.CaptureException(err)
	_, err = os.Open("1.txt")
	if err != nil {
		sentry.CaptureException(err)
	}
	event := sentry.NewEvent()
	event.Level = sentry.LevelWarning
	event.Message = "我是event的错误"
	sentry.CaptureEvent(event)