Sentry 自建指南

之前一直使用官方的免费服务,最近想要自己托管一个玩玩,于是就折腾了起来。Sentry 是一个开源的异常收集工具,据我所知 好像很多公司都在用它,而且讲真确实挺好用的,我也是老用户。

使用 docker-compose + docker 的部署方式比较简单,首先要安装 docker 和 docker-compose ,它对 docker 的版本有一定的 要求,所以我直接官网安装最新的:

https://docs.docker.com/engine/install/debian/

接着安装 docker-compose:

https://docs.docker.com/compose/install/

之后,就可以把官网的部署仓库 clone 下来:

$ mkdir sentry
$ cd sentry
$ git clone https://github.com/getsentry/onpremise.git
$ cd onpremise
$ ./install.sh
... 提示创建用户,那就创建
$

然后启动:

$ docker-compose up -d
...

接下来,就是配置一个域名,将请求代理到此服务,接下来就可以访问对应域名,然后更改发送邮件相关的配置了,页面上就可以 操作,但是如果页面上没有,那么就需要改配置文件,然后重新启动。

我是使用的 Mailgun 的 SMTP 服务,配置如下:

###############
# Mail Server #
###############

mail.backend: 'smtp'  # Use dummy if you want to disable email entirely
mail.host: 'smtp.mailgun.org'
mail.port: 25
mail.username: 'Mailgun 系统内的 SMTP 用户名'
mail.password: '密码'
# mail.use-tls: true
# mail.use-ssl: false
# The email address to send on behalf of
mail.from: 'sentry@<你的域名>'

此处注意,我一开始走了 TLS,结果一直报错 Connection timeout,加大 socket 超时时间也没用。估计是伟大的墙做的好事吧。

更改配置之后,就需要更新一下应用:

$ docker-compose build
$ docker-compose run --rm web upgrade
$ docker-compose down && docker-compose up -d

接下来就可以愉快的使用自己的 Sentry 服务了。


微信公众号
关注公众号,获得及时更新

更多文章
  • Golang的short variable declaration
  • Greenlet和Stackless Python
  • 写一个简单的ORM
  • 从源码看Python的descriptor
  • Python字符串格式化
  • Gunicorn 简明教程
  • Raft 论文阅读笔记
  • 什么是 Golang Comparable Types
  • MapReduce 论文阅读
  • GFS 论文阅读
  • 一起来做贼:Goroutine原理和Work stealing
  • Go语言的defer, panic和recover
  • 再读 Python Language Reference
  • 再读vim help:vim小技巧
  • 设计模式(2)- 深入浅出设计模式 阅读笔记