惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
Webroot Blog
Webroot Blog
GbyAI
GbyAI
S
SegmentFault 最新的问题
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 【当耐特】
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
AWS News Blog
AWS News Blog
Engineering at Meta
Engineering at Meta
S
Security Affairs
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
Spread Privacy
Spread Privacy
T
Threatpost
Forbes - Security
Forbes - Security
C
Cisco Blogs
Scott Helme
Scott Helme
Attack and Defense Labs
Attack and Defense Labs
Simon Willison's Weblog
Simon Willison's Weblog
腾讯CDC
The Last Watchdog
The Last Watchdog
Cloudbric
Cloudbric
Last Week in AI
Last Week in AI
Recorded Future
Recorded Future
小众软件
小众软件
V
Vulnerabilities – Threatpost
美团技术团队
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
Hacker News - Newest:
Hacker News - Newest: "LLM"
I
Intezer
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
Martin Fowler
Martin Fowler
博客园 - 聂微东

博客园 - 张润昊

Coding Agent 工程化实践《一》 : 前端页面自验实践 大模型为什么会产生幻觉?从原理到工程防御 Codex 的 Skill 到底是怎么被调用的? Superpowers:如何约束 Coding Agent 使用 Codex 的一次危险提醒 我的Nginx 的配置分析 NextJS 安全漏洞分析 AI工具学习02 - 使用 ChatGPT 进行 PRD 产品设计 NextJS 02 - 服务端渲染 NextJS01 - page router - 问题列表 Flutter02-布局 Flutter01-本地数据库 isar React 学习 03-两种 Api 的使用 React 学习 02-commit 渲染 React 学习 01-时间切片 安卓低机型卡顿分析以优化方案 命令行 查找某个结尾的文件. 总结下vim快捷键 React技术揭密学习(二) React技术揭密学习(一) Build your own React 记账项目 - webpack优化 React源码解携(二): 走一趟render流程 macos更新后, MySQL不能启动问题
前端监控系统博客总结
张润昊 · 2021-12-27 · via 博客园 - 张润昊

前端监控系统博客总结

总结看了很多很多的文章, 了解了很多方法, 但选出最适合自己的那个, 是最难的.

没想明白的点

  • 页面卡死奔溃的时候, 如何发送异常 -> 心跳包, service worker发送数据
  • 跨域问题: ->
    • 尽可能的Patch信息, 但入侵业务太大了
  • 解决打点GIF中的最大长度问题 ->
    • 分成即时数据上报, 和行为数据上报.
    • http2/头部压缩
    • 压缩日志长度
    • 行为数据较大, 走ajax, (只针对特定站点解决, 跨域问题).
    • 行为数据较大, 可以使用sendBeacon.
  • 点击的监听事件, 在error后面执行, 如何保存起来 -> 后面的数据通过行为数据上报. 错误全部走即时上报
  • 其他script标签引入的sdk中报错, 如何捕获 -> 如果想收集其他sdk的错误, 需要标明<script crossorigin>
  • 异常隔离 -> 区分sdk异常和业务异常

前端监控的目的

  • 了解线上性能信息, 提升用户体验
  • 更快的发现异常, 定位异常, 解决异常

前端监控流程

采集 -> 上传 -> 分析 -> 展示(报警)

采集

  • 环境信息
    • url: 页面 - window.location.href
    • ua: 用户信息 - window.navigator.userAgent
    • token: 前端网页
    • user: 业务相关用户
  • 性能信息
    • 网络层面
    • 页面展示层面
  • 异常信息
    • 语法错误
    • 类型错误
    • 范围错误
    • 引用错误
    • eval错误
    • URL错误
    • 资源加载错误 (只能在捕获阶段获取到)
  • 接口信息
    • XMLHttpRequest方法拦截
    • Fetch方法
  • 行为信息
    • 点击
    • 路由
    • 滚动
    • 鼠标
    • 键盘等
  • 用户自定义信息

流程

  • ajax
  • new Image()
  • sendBeacon

分析

  • 日志上报后, 进行清洗, 获取想要的数据, 落库.
  • 数据量大的时候, 使用就需要使用Hadoop集群

展示(报警)

参考

posted @ 2021-12-27 17:09  张润昊  阅读(94)  评论()    收藏  举报