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(Go语言)中实现典型的fork调用
  • 软件开发之禅---大事化小,各个击破
  • 程序员的自我修养:链接,装载与库 阅读笔记
  • Redis源码阅读与分析二:双链表
  • Redis源码阅读与分析三:哈希表
  • Redis源码阅读与分析一:sds
  • Golang runtime 源码阅读与分析
  • Golang的一些坑
  • GC 垃圾回收
  • 设计一个路由
  • Go语言性能优化实战
  • 那些年开发的时候踩过的坑
  • (关系型)数据库优化总结