- 一站式体系化解决方案:业务只需要简单的配置,引入上报文件,即可实现脚本错误上报,每日统计邮件跟踪方便。
- 可视化查询系统,快速定位错误信息:web应用程序脚本数量庞大,开发人员在如此之多的脚本中定位某个问题变得困难。BadJS能够巧妙定位错误脚本代码,进行反馈。通过各种查询条件,快速找到详细错误日志。
- 跨域、Script Error等棘手问题不再是难题:tryjs帮你发现一切。
- 真实用户体验监控与分析:通过浏览器端真实用户行为与体验数据监控,为您提供JavaScript、AJAX请求错误诊断和页面加载深度分析帮助开发人员深入定位每一个问题细节。 即使没有用户投诉,依然能发现隐蔽bug,主动提升用户体验。
- 用户行为分析:细粒度追踪真实的用户行为操作及流程,前端崩溃、加载缓慢及错误问题,可关联到后端进行深度诊断。
- 产品质量的保障:浏览器百花齐放,用户环境复杂,巨大的差异导致开发人员难以重现用户遇到的问题。 无法像后台一样上报所有用户操作日志。通过BadJS,上报用户端脚本错误,为产品质量保驾护航。
- node.js
- mongodb 存储上报数据
- mysql 用于web管理系统数据存储,默认账号=root,密码=root,端口3306
在安装前请确保mongodb和mysql已经启动。
// 下载images
docker pull caihuijigood/badjs-docker
// 启动
docker run -i -d -p 80:80 -p 8081:8081 docker.io/caihuijigood/badjs-docker bash badjs mysql=mysql://root:[email protected]:3306/badjs mongodb=mongodb://192.168.1.101:27017/badjs
其中 mysql 是指定你的mysql 数据库, mongodburl 是指向你的mongodb, 这个两个参数都是必须的
复制这行代码到命令行执行
sh -c "$(curl -fsSL https://raw.githubusercontent.com/BetterJS/badjs-installer/master/install.sh)"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/gogoday/track/master/upgrade/upgrade.sh?v=1)"
进入 badjs-web 目录,修改 project.json
"email": {
"enable": false,
"homepage": "http://badjs.com/index.html",
"from": "[email protected]",
"emailSuffix" : "@demo.com",
"smtp": "smtp.demo.com",
"smtpUser": "username",
"smtpPassword": "password",
"time": "09:00:00",
"top": 20,
"module": "email"
}
重启 badjs-web 服务
forever start /data/badjs-ivweb/badjs-web/app.js
badjs-ivweb 默认使用 linux 中的 crontab 进行定时任务,完成每天邮件的发送功能。
开启定时任务 统计 pv 发送评分日报邮件 编辑定时任务脚本 $crontab -e
添加一下定时任务(请注意更换node路径和文件路径)
# 统计 pv
6 0 * * * bash /data/badjs-ivweb/badjs-web/service/nginx_log.sh
30 0 * * * bash /data/badjs-ivweb/badjs-web/service/get_pv.sh
# 清理离线日志
30 2 * * * node /data/badjs-ivweb/badjs-web/service/CleanOffline.js >> /data/log/clean.log
# create b_quality table create b_statistics table
0 2 * * * node /data/badjs-ivweb/badjs-web/service/handle-statistics.js >> /data/log/statistics.log
30 3 * * * node /data/badjs-ivweb/badjs-web/service/handle-quality.js >> /data/log/quality.log
# hardware check
0 2 * * * node /data/badjs-ivweb/badjs-web/service/HardwareMail.js
# send score mail
0 4 * * * node /data/badjs-ivweb/badjs-web/service/ScoreMail.js >> /data/log/scoreMail.log
# send top error mail
0 5 * * * node /data/badjs-ivweb/badjs-web/service/TopErrorMail.js >> /data/log/topErrorMail.log
# wechat bot
0 9 * * * node /data/badjs-ivweb/badjs-web/service/WechatService.js >> /data/log/wechatBot.log
需要注意的是 统计 pv
需要在 create b_quality table
前面进行,pv
,b_statistics
、b_quality
需要在 sendEmail 前进行。
保存后生效