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
看的我热血沸腾啊https://www.ea55.com/
看的我热血沸腾啊https://www.jiwenlaw.com/