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 GIN写单测时,愉快的使用返回值
  • Python Queue源码分析
  • Go里优雅的使用全局配置
  • Golang sync.Map源码分析
  • Android滑动时隐藏FAB
  • Python中用tuple作为key
  • 一些常用的算法思维
  • 编写可维护的函数
  • 为什么要把配置保存在仓库里?
  • Android自动展示和关闭进度条
  • Kotlin/Java 列表Protobuf序列化
  • deeplink结合路由处理扩展App的能力
  • 怎么使用ViewModel 和 RecyclerView
  • Android手动挡MVVM
  • 来电拦截方案