Web Development

/ 0评 / 3/ 最后更新:2021-12-08
前端异常日志监控sentry的部署

需求场景

前端产生bug的情况也一样是很多的,可能是书写上的疏忽,可能是接口的异常,可能是用户端的网络异常,也可能是用户的手机设备问题。当一个项目的用户体量大的时候,线上监控就显得很有必要。现在国内也有一些线上前端日志监控的工具,不过大多需要收费,而且出于安全考虑,用户日志放在第三方也不是很放心的。所以能基于开源工具自行搭建一个是最好不过了。

sentry简介

sentry是一个开源的日志异常监控工具,国内部分知名公司的一些团队也在使用,如滴滴,有赞等。由于sentry是国外团队开发的,并不支持小程序,不过有赞团队已经基于sentry的客户端sdk修改了一个版本增加了对微信小程序的异常监控的支持。

环境要求

这个项目还是有点吃内存的,服务器内存最少2G,所以一般需要购买最少3G的服务器。服务器需安装docker,compose环境

一键部署

sentry团队已经为我们做了一键安装包onpremise,如果服务器docker,compose环境已经部署好了,一套下来只需5分钟。

开始部署

git clone https://github.com/getsentry/onpremise
cd onpremise
./install.sh

这个安装过程会比较长,请耐心等待,等到安装完成后,使用docker-compose启动即可通过http://[服务器ip]:9000访问。

docker-compose up -d  

后续版本更新

cd onpremise
git pull
./install.sh

Issue:Nginx转发9000端口无法获得真实ip

修改onpremise/nginx/ngin.conf配置文件,并重启容器。docker-compose restart

# Remove the Connection header if the client sends it,
# it could be "close" to close a keepalive connection
  proxy_set_header Connection '';
  proxy_set_header Host $host;
  # proxy_set_header X-Real-IP $remote_addr;
  # proxy_set_header X-Forwarded-For $remote_addr;
  proxy_set_header X-Real-IP $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Request-Id $request_id;
  proxy_read_timeout 30s;
  proxy_send_timeout 5s;
3

Leave a Reply

Your email address will not be published. Required fields are marked *