记一次Sentry部署过程

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

内容简介:官网提供了两种部署方式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 才可以看到具体错误在那个组件,这个我还在研究当中。


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

查看所有标签

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

Making Things See

Making Things See

Greg Borenstein / Make / 2012-2-3 / USD 39.99

Welcome to the Vision Revolution. With Microsoft's Kinect leading the way, you can now use 3D computer vision technology to build digital 3D models of people and objects that you can manipulate with g......一起来看看 《Making Things See》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换