sentry私有化部署过程记录

干净且内存足够大的主机一台,因为私有化docker方式部署需要一次启动至少55个docker实例,内存小的主机根本就不需要尝试了。

1.克隆sentry部署仓库

git clone https://github.com/getsentry/self-hosted.git

2.可选的配置一个http/https代理

      因为是使用docker方式进行部署的,要从互联网大量的拉取N多镜像,网络不好的可以考虑配置个http访问代理,我这里是通过screen 开了一个代理,然后set http_proxy="http://代理ip:端口"和set https_proxy="http://代理ip:端口"的方式进行了代理配置,网络稳定的不需要本步骤。

3.开始安装

   上面通过git clone得到路径是self-hosted,可以自己改个有意义的路径名称,如mv ./self-hosted ./sentry,进入该路径cd sentry然后sudo install.sh开始安装,安装的过程中要回答几个选项,默认都选择Y即可,创建用户的步骤记好用户名和密码。

4.解决CSPF跨域访问错误

   默认安装完成以后通过http://ip:9000端口去访问sentry的时候只要一登录就会报错CSPF跨域访问失败,需要修改一些配置。

   打开你的sentry/sentry/config/config.yml文件,在文件的最后增加以下内容:

system.url-prefix: "http://你的sentry部署主机IP地址:9000"

  上面的两个配置,第一个指定了sentry的访问前置,例如http://192.168.1.100:9000 。

   打开sentry/sentry/config/sentry.conf.py文件,在文件的最后增加以下内容关闭允许用户自己注册功能:

SENTRY_FEATURES['auth:register'] = False

5.重启服务

 docker compose down
 docker compose up -d

  搞定。

6.解决qq邮箱无效问题

   sentry代码里面硬编码了禁用qq邮箱,邀请新用户时会提示invalid email,解决办法是docker ps找到web-1那个容器,然后

docker exec -it 容器id bash

进入docker容器实例以后,进入/usr/local/lib/python3.11/site-packages/sentry/conf 这个路径,备份一下server.py,例如cp server.py server.py.bak ,然后执行sed -i "s/qq/xx/g" server.py把代码里面的qq邮箱变成xx.com,然后退出容器,重启整个docker compose。

   这篇文章原创访问地址是http://blog.csdn.net/peihexian,盗取文章的死全家。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot 可以很方便地集成 Sentry,以下是集成步骤: 1. 在 `pom.xml` 文件中添加 Sentry 依赖: ```xml <dependency> <groupId>io.sentry</groupId> <artifactId>sentry-spring-boot-starter</artifactId> <version>3.1.0</version> </dependency> ``` 2. 在 `application.properties` 或 `application.yml` 文件中配置 Sentry: ```properties sentry.dsn=YOUR_DSN sentry.release=YOUR_RELEASE_VERSION sentry.environment=YOUR_ENVIRONMENT ``` 其中,`YOUR_DSN` 是你的 Sentry DSN(Data Source Name),`YOUR_RELEASE_VERSION` 是你的应用版本号,`YOUR_ENVIRONMENT` 是你的应用环境(如 `production`、`development` 等)。 3. 创建一个全局异常处理器类,用于捕获异常并发送到 Sentry: ```java import io.sentry.Sentry; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.servlet.ModelAndView; @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ModelAndView handleException(Exception e) { // 发送异常信息到 Sentry Sentry.captureException(e); // 返回错误页面或其他处理方式 ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("error"); modelAndView.addObject("errorMessage", "An error occurred"); return modelAndView; } } ``` 以上步骤完成后,当应用发生异常时,Sentry 将会自动捕获并发送相应的异常信息。你可以登录 Sentry 平台查看应用的异常报告和性能指标。 希望以上信息对你有帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peihexian

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值