分享 / Odoo / 搭建本地Sentry服务

搭建本地Sentry服务

上篇文章中,主要介绍了Odoo中加入Sentry来跟踪日志记录。我们在例子中用了Sentry官方 提供的免费服务。其实Sentry是一个开源框架,你可以部署自己的Sentry服务器以获得更灵 活的配置。


搭建方式

Sentry的搭建主要有两种

官方的推荐是使用Docker来进行部署.在实际生产中,docker更为简洁易控.下面我们就来讲讲docker部署本地Sentry的步骤


准备工作

我们首要的工作就是安装docker跟docker-compose。

本人使用的mac系统。直接从Docker官网下载。 官方下载地址

打开下载后的镜像文件,直接将Docker拖入Applications即可.

image.png


然后安装提示,一路点击Next.最终会看到Docker已经运行的页面


image.png


安装完成后shell命令检查docker版本


~ docker --version
Docker version 17.06.2-ce, build cec0b72
~ docker-compose --version
docker-compose version 1.14.0, build c7bdf9e
  • 可以看到Docker跟Docker-compose已经在运行了.



docker搭建


**第一步 拉取github上sentry的docker配置文件**
[Github地址](https://github.com/getsentry/onpremise.git) ``` git clone https://github.com/getsentry/onpremise.git ```

**第二步 通过命令生成 `secret key`**
``` docker-compose run --rm web config generate-secret-key ``` - 此时会在终端中生成一串秘钥字符串,注意保存它并复制到`docker-compose.yml`文件中

![image.png](http://upload-images.jianshu.io/upload_images/6865906-d1aaad3fc2932ec3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


- 复制到`docker-compose.yml`文件中`service`下`base`容器的`environment`中.

![image.png](http://upload-images.jianshu.io/upload_images/6865906-62dcfd8fe8ea07ca.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

**第三步 更新配置,创建超级管理员用户**
``` docker-compose run --rm web upgrade ``` - 第一次更新会让我们创建超级管理员,按提示输入邮箱跟密码即可.(操作中没截到图,使用网上的图)

![image.png](http://upload-images.jianshu.io/upload_images/6865906-ed7532d4a0550faf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

**第四步 填写邮件服务器配置文件**
  • 这一步是为了能够本地Sentry能够发送通知邮件而进行的操作. Sentry官方提供的gihub库中,有一个专门的配置文件config.yml.里面定义了一些列的参数.在实际搭建的Sentry服务中,我发现smtp设置的信息无法再web界面中更改. 所以我们需要把邮箱的smtp服务信息填写在这个配置文件中.

    image.png


  • 然后再修改docker-compose.yml 文件,为其中的web容器添加volumes卷.让配置文件生效。

    image.png


**最后 直接开启所用容器即可** ``` docker-comose up -d ```

*** ## 访问本地Sentry web界面
**直接访问本机ip:9000即可登录。**

image.png


*** ## 查看mail设置 **进入到Sentry主界面后,查看下mail设置。**

![image.png](http://upload-images.jianshu.io/upload_images/6865906-1172f680f4f3c602.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**发送测试邮件看到邮箱通知服务以已开启。**

![image.png](http://upload-images.jianshu.io/upload_images/6865906-b5830ae58ff39b3e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

*** ## 测试Sentry功能
**让我们安装上一篇文章中讲过的步骤,开启一个Project.**

![image.png](http://upload-images.jianshu.io/upload_images/6865906-2a9f3266c8262775.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

  • 发送错误代码后,立马捕捉成功。

    image.png

  • 邮件通知也收到。

    image.png

结论

本地简单搭建的Sentry已经可以完成使用了。 配合前一篇文章来尝试一下吧。 最后,推荐Sentry 官方博客 。 可以搭配Nginx等web容器来建立更加完善的功能。