记一次Sentry部署过程

栏目: 编程工具 · 发布时间: 5年前

内容简介:官网提供了两种部署方式1、 docker

Sentry 是一个开源的实时错误报告工具,支持前后端、其他后端语言以及主流框架等。既然是开源,那么我们可以在自己的服务器上搭建,本文记录搭建的过程以及搭建过程中遇到的一些问题,也可以跟着这个教程来搭建一遍

部署环境

Ubuntu 16.04

官网提供了两种部署方式

1、 docker

2、 python

这里我使用的是 docker 的方式来安装,比较快捷

先更新下 apt-get包(这个过程可能需要点时间)

apt-get update && apt-get upgrade
复制代码

1、安装docker

wget -qO- https://get.docker.com/ | sh

// 查看  docker  是否安装成功
docker -v
// Docker version 18.09.5
证明docker安装成功
复制代码

由于 docker 镜像都在国外,因此下载会比较慢,这里用Docker加速器 运行下面命令即可

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://4031ebb7.m.daocloud.io
复制代码

2、安装 pip

执行下面命令安装(注意没有安装 python 的话需要安装)

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate # 下载文件 

python get-pip.py #执行安装 

pip -V #查看pip版本
// pip 19.0.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
复制代码

3、安装 docker-compose

这里使用 pip 管理 工具 来安装 docker-compose

sudo pip install docker-compose

docker-compose --version // 查看版本是否安装成功
复制代码

上述步骤之后就可以着手搭建 sentry

4、 搭建 sentry

首先从github上拉取 sentry ,运行

git clone https://github.com/getsentry/onpremise.git
复制代码

拉取下来后,进入目录 onpremise ,可以看到里面有份 README.MD ,按照这份说明文档步骤安装就行(这份当时拉下来的操作文档,具体有更新的话以拉取下来的最新说明文档为准)

  1. docker volume create --name=sentry-data && docker volume create --name=sentry-postgres - Make our local database and sentry volumes Docker volumes have to be created manually, as they are declared as external to be more durable.
  2. cp -n .env.example .env - create env config file
  3. docker-compose build - Build and tag the Docker services
  4. docker-compose run --rm web config generate-secret-key - Generate a secret key. Add it to .env as SENTRY_SECRET_KEY .
  5. docker-compose run --rm web upgrade - Build the database. Use the interactive prompts to create a user account.
  6. docker-compose up -d - Lift all services (detached/background mode).
  7. Access your instance at localhost:9000 !

5、 实践

搭建完成之后打开 localhost:9000 端口,可以看到登录界面,输入上面搭建时候设置的邮箱和密码

注意!!!!

输入账号密码登录之后,会进入一个初始化的界面,要填写 ROOT URL ,如果遇到填写完成之后点击保存一直提示 保存错误 的时候,按照下面方法来操作就可以解决

编辑文件 config.yml ,添加下面这一段

auth.allow-registration: false
beacon.anonymous: true
mail.from: ""
mail.host: ""
mail.password: ""
mail.port: 465
mail.use-tls: true
mail.username: ""
system.admin-email: ""
system.url-prefix: ""
复制代码

然后设置下 sentry 的版本,如下命令, CONTAINER 换成你 docker 容器里面 web 的 name,可以使用 docker ps 命令看下,我的是 onpremise_web_1

docker exec CONTAINER sentry config set sentry:version-configured '9.1.0'
复制代码

执行第一次的时候我情况是报错了,再执行一次就行

这时候刷新下页面,你可能会发现还是停留在了这个初始化设置页面,一般等一两个小时再刷新下就进去了,具体原因我也不清楚,好像是因为 docker 运行缓存问题?

打开进入之后可以点击右上角添加新的项目 add project ,选择语言或者框架

记一次Sentry部署过程

6、 遇到问题

按照客户端教程下载相关库之后需要填 DSN ,在项目的 settings 里面找到 DSN 发现是空的并且不能填,然后上网找了下发现 DSN 是由下面格式组成的

http://pubilckey:secretkey@localhost:9000/<project>
复制代码

按照这个格式填写到客户端的 DSN 之后尝试下触发错误,可以看到界面会显示具体的错误详细信息

7、 小结

搭建完后按照教程集成到 vueflask 中,发现效果还不错,触发错误后可以看到具体的错误详细信息,具体到哪一行,触发这个错误的终端的详细信息,但 vue 目前大部分是混淆压缩过的,因此得上传 sourcemap 才可以看到具体错误在那个组件,这个我还在研究当中。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++ How to Program (5th Edition) (How to Program)

C++ How to Program (5th Edition) (How to Program)

Harvey & Paul) Deitel & Associates / Prentice Hall / 2005-01-05 / USD 98.00

With over 250,000 sold, Harvey and Paul Deitel's C++ How to Program is the world's best-selling introduction to C++ programming. Now, this classic has been thoroughly updated! The Deitels' groundbreak......一起来看看 《C++ How to Program (5th Edition) (How to Program)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码