sentry(哨兵)

sentry由python书写,源码开放,性能卓越(...)

  • Sentry对window.onerror函数进行了改写,在这里实现了错误监控的逻辑,添加了很多运行时信息帮助进行错误定位,对错误处理进行跨浏览器的兼容等等
支持多类型项目
  • js
  • vue
  • node
  • react
实时错误上报

当捕获到错误,一个错误会发一次请求到sentry服务器,
在控制台会及时更新错误日志,支持邮箱报警配置。

所有收集上来的数据,默认保存90天

控制台
  • 支持中文,但部分还是英文
  • 更多类型的数据统计展示
安装方便

目前整套代码开源,且作者集成,使广大用户快速安装,但部分自定义修改配置不明晰

  • 使用python安装
  • 使用docker安装(推荐),下面讲docker

0、前置条件

首先请先安装docker环境

1、下载github项目文件

git clone https://github.com/getsentry/onpremise.git

2、执行安装脚本指令(注意cd进入项目)

./install.sh
执行后会自动安装该项目所有依赖环境与服务

3、在docker环境下启动项目:项目默认端口9000

docker-compose up -d

优缺点

没有对比就没有伤害

虽然开发一些api,前期如何很好的使用是一个问题(当然你也可以不用)
可以自己部署,但如何改他源码,二次开发难
很多即使优点也是不足

优点

  • 免费开源(这是它最大优点)
  • 整套系统部署运行在自己服务,数据不经三方
  • 更多的图表统计展示

缺点

  • 由于该项目为国外项目,文档友好度低,使用方面也存在一定差异
  • 扩展功能,二次开发难,定制化,自定义差
  • 需要安装与运行环境

问题

  • 目前卡在服务器上部署,ip,文件配置,等,凯哥现在跑不起来。在允许外网访问时候,项目构建的ip还是默认,但该服务是要以公网ip访问,不能私有ip地址。

总结

技术,能力,时间

  • 个人推荐
自建 > sentry > fundebug
  • 具体情况分析,下面综合考虑

需求:定制性强请选择

自建监控系统
大体需要的技术站与思路
前端采集:全局异常处理,异步异常采集,sourcemap解析,zone.js,用户行为回溯,performance信息采集,帧率监控,网络请求拦截,资源加载监控 等等
数据清洗:kafka,grafana,kibana,flink,clickhouse,prometheus
服务端开发:java redis sql rocketmq

需求:搭建在自己服务器

sentry

需求:快速对项目监控,成本低

fundebug等第三方平台
附录

docker部分指令

生成secret key

docker-compose run --rm web config generate-secret-key

报错处理--docker安装所需环境

docker volume create --name=sentry-data
docker volume create --name=sentry-postgres
docker volume create --name=sentry-redis
docker volume create --name=sentry-zookeeper
docker volume create --name=sentry-kafka
docker volume create --name=sentry-clickhouse
docker volume create --name=sentry-symbolicator

.env

SENTRY_EMAIL_HOST=smtp.mailgun.org
SENTRY_EMAIL_PORT=9000
SENTRY_SERVER_EMAIL=gongpengji@163.com
SENTRY_EMAIL_USER=gongpengji@163.com
SENTRY_EMAIL_PASSWORD=qq221314520
SENTRY_EMAIL_USE_TLS=true

关闭,启动服务

docker-compose down && docker-compose up -d
Last modification:May 11th, 2020 at 11:03 am
如果觉得我的文章对你有用,请随意赞赏