前端监控与埋点

news2024/9/27 9:22:27

个人简介

👀个人主页: 前端杂货铺
🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展
📃个人状态: 研发工程师,现效力于中国工业软件事业
🚀人生格言: 积跬步至千里,积小流成江海
🥇推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js🍒Three.js🍖数据结构与算法体系教程

🌕个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧

文章目录

    • 前言
    • 一、对比错误监控平台
    • 二、认识 sentry
      • 1、sentry的功能
      • 2、sentry的部署
    • 三、扩展内容(埋点、监控)
    • 总结

前言

大家好,这里是前端杂货铺

当我们的项目上线后,难免会出现很多的 bug,我们知道,尤其是对于前端的 bug 而言大多数都是打印在控制台的,我们很难进行错误日志的记录,所以上线后的项目对于前端 bug 的记录和复现就会比较困难(费时费力,且不好定位 bug),这很不利于产品的快速优化迭代。

本文,我们来了解一下 错误监控平台,认识它的作用、功能及如何部署等…


一、对比错误监控平台

  1. sentry:国外的开源项目,支持各大主流语言及框架的错误监控,GitHub star 36.4k,Github sentry源码
  2. BadJS:腾讯团队的开源项目,GitHub star 1.1k,Github BadJS源码
  3. 阿里ARMS:阿里的一个前端数据监控的服务,但是收费的
  4. fundebug :比较完善的前端错误日志服务,但只能免费试用14天 fundebug官网

更多资料参考:前端异常监控平台对比-1、前端异常监控平台对比-2

本文主要介绍 成熟、强大且开源sentry


二、认识 sentry

sentry官方文档

sentry(哨兵)是一款应用错误跟踪系统,对软件系统运行过程中产生的错误日志进行收集从而实现监控告警。通过对应用的错误进行实时追踪并统一跟进,提高对错误的治理能力。让业务场景下自己发现 Bug 的速度快于用户报告 Bug 的速度。

sentry 支持对众多语言和框架的错误监控,包括我们经常使用的 Javascript、Java、Vue、React、Node.js、Python…

在这里插入图片描述


1、sentry的功能

概览:

  1. 错误信息页面,显示错误信息及错误原因
  2. 便捷的操作界面,有问题列表、概况纵览、用户反馈、版本列表信息、项目设置等功能
  3. 可以进行问题筛选,包括 : 指派自己的 、 标记列表 、需要分类的 、 今天的 、 未处理的等
  4. 可以进行 GitLab、 GitHub、slack、trello 的常见的开发工具的集成,并且可以关联邮件、飞书、钉钉等应用,进行错误的实时通知
  5. 除了异常监控以外,sentry 还提供了性能监控
  6. 回放用户操作,可以 进行导致错误操作视频的录制,便于快速查看报错时用户的操作
  7. 支持设置用户上下文,报错的时候,可以知道当前报错是哪个用户触发的

(1)错误信息页面,显示错误信息及错误原因

在这里插入图片描述

在这里插入图片描述

(2)便捷的操作界面,有问题列表、概况纵览、用户反馈、版本列表信息、项目设置等功能

在这里插入图片描述

(3)可以进行问题筛选,包括 : 指派自己的 、 标记列表 、需要分类的 、 今天的 、 未处理的等

在这里插入图片描述

(4)可以进行 GitLab、GitHub、slack、trello 的常见的开发工具的集成,并且可以关联邮件、飞书、钉钉等应用,进行错误的实时通知

在这里插入图片描述

(5)除了异常监控以外,sentry还提供了性能监控

在这里插入图片描述

(6) 回放用户操作,可以进行导致错误操作视频的录制,便于快速查看报错时用户的操作(amazing!!!)

在这里插入图片描述

  1. 支持设置用户上下文,报错的时候,可以知道当前报错是哪个用户触发的

在这里插入图片描述

更多内容请参考资料:前端监控之Sentry的介绍


2、sentry的部署

环境要求:

  1. Docker 19.03.6+
  2. Docker-Compose 1.28.0+
  3. 4 CPU Cores
  4. 8 GB RAM
  5. 20 GB Free Disk Space

其一、我们可以使用 sentry 官网提供的线上服务,但功能受限,试用 30 天,要想使用完整功能需要付费。

其二、本地私有化部署 sentry,可以免费使用全部功能。(支持 Python 和 Docker(推荐) 的部署方案)。

注:sentry 的部署比较繁琐,具有一定的难度,目前我没有进行实际性的操作,请自行尝试部署。

更多内容请参考资料:基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题


三、扩展内容(埋点、监控)

什么是埋点?

埋点是指在代码中植入一些 用于数据收集和分析 的代码,以便 追踪和分析用户在页面上的行为和操作

埋点有什么作用?

数据生产 => 数据采集 => 数据处理 => 数据分析挖掘 => 数据驱动/用户反馈 => 产品优化/迭代。

监控和埋点的关系?

监控是对用户行为和产品使用情况进行跟踪和监控的过程,埋点则是为了获取这些数据而进行的技术实施过程;

一款成熟的产品,需要哪些监控?

  1. 数据监控:用于监控用户的行为。比如:页面浏览量或点击量、用户通过什么方式入口访问的该网页、用户在页面的停留时间、用户在页面的操作行为(点击哪些按钮,进行了什么操作)等。通过收集这些数据,很有利于我们分析下一阶段要着重优化和加强的功能点,并且能针对性的进行产品推广等。
  2. 性能监控:用于监控页面性能。比如:页面加载时间、http请求响应的时间、静态资源下载时间、页面渲染时间等。通过对于这些数据的采集分析,我们可以针对性的优化页面的性能,给用户更好的使用体验。
  3. 异常监控:用于监控异常报错。即本文一开始就讲解的内容,我们可以对产品暴露出的 bug 进行快速的定位和修复。

sentry 可以实现异常监控和性能监控,对于数据监控可以借助其他第三方平台,比如:百度统计、友盟、神策、web-hunter、Talkingdata、GrowingIO 等。

注意:在部署的时候要着重注意项目的相关信息,避免因不合理操作导致的数据泄露!!!

更多内容请参考资料:前端数据埋点全解、前端监控–多框架对比,本地化部署Sentry细节


总结

本文,我们认识了几种错误日志监控平台,了解了其作用及强大的功能点。并熟悉了埋点及一些必要的监控方式。

但目前我并没有做实际性的部署测试,对于部署的方案和途径请参考本文相关资料或自行查找其他资料。

好啦,本篇文章到这里就要和大家说再见啦,祝你这篇文章阅读愉快,你下篇文章的阅读愉快留着我下篇文章再祝!


参考资料:

  1. 前端异常监控平台对比
  2. 前端错误监控
  3. 前端监控之Sentry的介绍
  4. react 快速接入 sentry,性能监控与错误上报踩坑日记
  5. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题
  6. 搭建sentry监控平台,实现前后端异常监控。——从零开始搭建一个高颜值后台管理系统全栈框架
  7. 浅析前端错误监控警报系统Sentry基本使用、私有化部署步骤及部署注意事项、使用webpack插件上传sourceMap
  8. 前端数据埋点全解
  9. 前端监控–多框架对比,本地化部署Sentry细节

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1482882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SINAMICS V90 PN 指导手册 第6章 BOP面板 LED灯、基本操作、辅助功能

概述 使用BOP可进行以下操作: 独立调试诊断参数查看参数设置SD卡驱动重启 SINAMICS V90 PN 基本操作面板 LED灯 共有两个LED状态指示灯,(RDY和COM)可用来显示驱动状态,两个LED灯都为三色(绿色/红色/黄色) LED灯状态 状态指示灯的颜色、状…

什么是VR虚拟现实|虚拟科技博物馆|VR设备购买

虚拟现实(Virtual Reality,简称VR)是一种通过计算机技术模拟出的一种全新的人机交互方式。它可以通过专门的设备(如头戴式显示器)将用户带入一个计算机生成的虚拟环境之中,使用户能够与这个虚拟环境进行交互…

1小时网络安全事件报告要求,持安零信任如何帮助用户应急响应?

12月8日,国家网信办起草发布了《网络安全事件报告管理办法(征求意见稿)》(以下简称“办法”)。拟规定运营者在发生网络安全事件时应当及时启动应急预案进行处置。 1小时报告 按照《网络安全事件分级指南》&#xff0c…

centos7单节点部署ceph(mon/mgr/osd/mgr/rgw)

使用ceph建议采用多节点多磁盘方式部署,本文章仅作为单节点部署参考,请勿用于生产环境 使用ceph建议采用多节点多磁盘方式部署,本文章仅作为单节点部署参考,请勿用于生产环境 使用ceph建议采用多节点多磁盘方式部署,…

2024年2月文章一览

2024年2月编程人总共更新了5篇文章: 1.2024年1月文章一览 2.Programming Abstractions in C阅读笔记:p283-p292 3.Programming Abstractions in C阅读笔记:p293-p302 4.Programming Abstractions in C阅读笔记:p303-p305 5.P…

如何在jupyter notebook 中下载第三方库

在anconda 中找到: Anaconda Prompt 进入页面后的样式: 在黑色框中输入: 下载第三方库的命令 第三方库: 三种输入方式 标准保证正确 pip instsall 包名 -i 镜像源地址 pip install pip 是 Python 包管理工具,…

2024年腾讯云优惠券领取页面_代金券使用方法_新老用户均可

腾讯云代金券领取渠道有哪些?腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券,大家也可以在腾讯云百科蹲守代金券,因为腾讯云代金券领取渠道比较分散,腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

【IC前端虚拟项目】inst_buffer子模块DS与RTL编码

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 需要说明一下的是,在我所提供的文档体系里,并没有模块的DS文档哈,因为实际项目里我也不怎么写DS毕竟不是每个公司都和HISI一样对文档要求这么严格的。不过作为一个培训的虚拟项目,还是建议在时间充裕…

PaddleOCR的部署教程(实操环境安装、数据集制作、实际应用案例)

文章目录 前言 PaddleOCR简介 一、PaddleOCR环境搭建 因为我之前安装过cuda和cudnn,查看cuda的版本根据你版本安装合适的paddlepaddle版本(之前没有安装过cuda的可以看我这篇文章Ubuntu20.04配置深度学习环境yolov5最简流程) 1.创建一个…

ESP32 partitions分区表的配置

由于在使用ESP32会遇到编译出来的bin文件大于分区表的时候,因此需要我们修改分区表或者使用自定义分区表的方式来解决。(项目是使用VScode来搭建和调试的,VScode YYDS) 具体分区标的含义这里就不讲了,网上有很多文档介…

【MySQL】:高效利用MySQL函数实用指南

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. MySQL函数概论二. 字符串函数三. 数值函数四. 日期函数五. 流程函数&#x1…

C. Bitwise Operation Wizard

解题思路 可以相同先通过,找出最大值再通过每个数与取或,记录得值最大时的每个数其中的最小值与的最大 import java.io.*; import java.math.BigInteger; import java.util.Arrays; import java.util.BitSet; import java.util.HashMap; import java.ut…

StarRocks实战——携程酒店实时数仓

目录 一、实时数仓 二、实时数仓架构介绍 2.1 Lambda架构 2.2 Kappa架构 三、携程酒店实时数仓架构 3.1 架构选型 3.2 实时计算引擎选型 3.3 OLAP选型 四、携程酒店实时订单 4.1 数据源 4.2 ETL数据处理 4.3 应用效果 4.4 总结 原文大佬的这篇实时数仓建设案例有借…

代码随想录-回溯算法

组合 //未剪枝 class Solution {List<List<Integer>> ans new ArrayList<>();Deque<Integer> path new LinkedList<>();public List<List<Integer>> combine(int n, int k) {backtracking(n, k, 1);return ans;}public void back…

js中浏览器渲染原理

JavaScript&#xff08;JS&#xff09;是一种广泛使用的编程语言&#xff0c;特别是在Web开发中。在浏览器中&#xff0c;JS被用于实现动态网页效果、交互性和用户体验的提升。然而&#xff0c;要理解JS在浏览器中的工作原理&#xff0c;我们首先需要了解浏览器的渲染过程。 浏…

C++之函数,指针

函数 1&#xff0c;函数概述 作用&#xff1a;将一段经常使用的代码封装起来&#xff0c;减少重复代码 一个较大的程序&#xff0c;一般分为若干份程序块&#xff0c;每个模块实现特定的功能 2&#xff0c;函数的定义 函数的定义一般有五个步骤&#xff1a; 1&#xff0c…

【前端素材】推荐优质数医院办公后台管理系统网页Stisla平台模板(附源码)

一、需求分析 在线后台管理系统是指供管理员或运营人员使用的Web应用程序&#xff0c;用于管理和监控网站、应用程序或系统的运行和数据。它通常包括一系列工具和功能&#xff0c;用于管理用户、内容、权限、数据等。下面是关于在线后台管理系统的详细分析&#xff1a; 1、功…

​用细节去解释,如何打造一款行政旗舰车型

高山行政加长版应该是这个级别里最大的几款 MPV 之一了&#xff0c;对于一款较大的车型&#xff0c;其最重要的是解决行驶的便利性。 这次我们就试试魏牌高山行政加长版&#xff0c;从产品本身出发看几个纬度的细节&#xff1a; 行政该如何定义加长后产品的功能变化加长之后到…

ssm172旅行社管理系统的设计与实现

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一 、设计说明 1.1 研究…

深入浅出Redis(零):Redis常用命令的使用

前言 Redis是一款基于键值对的数据结构存储系统&#xff0c;它的特点是基于内存操作、单线程处理命令、IO多路复用模型处理网络请求、键值对存储与简单丰富的数据结构等等 本篇文章作为深入浅出Redis&#xff08;一&#xff09;&#xff1a;对象与数据结构的基础篇&#xff0…