精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何使用 Sentry 捕獲前端異常

開發 前端
如果我們想要擁有一套完整的前端異常監控系統,首先,需要關心的問題就是,如何及時捕捉異常,如何準確定位異常和錯誤的位置,采集到異常后如何及時通知相關人員。

工作多年,發現大家總是會遇到這種特殊的場景:用戶反映某個功能異常。為了找出問題所在,我們嘗試在本地重現異常,但結果是什么都沒有。另一方面,前端代碼的運行環境,如PC瀏覽器、手機瀏覽器等,復雜且不可控。這意味著代碼中可能會出現各種不可預知的錯誤。

在這種情況下,如果我們想要擁有一套完整的前端異常監控系統,首先,需要關心的問題就是,如何及時捕捉異常,如何準確定位異常和錯誤的位置,采集到異常后如何及時通知相關人員?

選擇解決方案

我們先來看看常見的前端監控方案。

方案一:自我研究。

具體工作主要是:自己重寫Window對象中的onerror和onunhandledrejection方法,收集錯誤信息,通過服務端接口上傳,編寫服務端文件,使用Sourcemap文件恢復源碼排查問題。

此外,還可以搭建一個查看異常信息的平臺。因此,自研方法存在明顯的缺陷,需要大量的精力。當然,自研也有易于擴展的優勢,比如在前端監控中加入性能監控功能,方便后續頁面的性能優化。

方案二:借助成熟的第三方工具,例如 Sentry。

這種方法不需要大量的開發,只要訪問配置足夠。

對于這兩種解決方案,如果自己沒有那么多精力去研究,可以選擇使用第三方工具。

在成熟的第三方工具中,我推薦你使用 Sentry。因為 Sentry 是一個開源的 bug 跟蹤工具,可以幫助我們實時監控和修復系統 bug。

此外,Sentry 支持通過 Sourcemap 文件恢復 JS 錯誤調用堆棧,也可以在收集到異常后通過 Telegram 或郵件實時通知。

另一個重要的點是,Sentry 允許我們在自己的服務器上構建私有服務,這意味著我們可以免費使用 Sentry 的強大功能,避免源代碼泄露的風險。

下面這張圖可以直觀地展示哨兵采集異常信息的效果。

如何及時捕獲異常?

部署哨兵

第一步,無疑是部署 Sentry。 由于官方推薦使用 Docker 進行部署,且操作相對簡單,所以我將以 Docker 為例,向大家展示如何從零開始搭建 Sentry 服務。

首先,我們安裝 Docker 和 Docker-Compose。 安裝完成后,啟動Docker,拉取sentry-onpremise倉庫代碼,這是Sentry官方提供的安裝程序,然后啟動里面的安裝腳本。  

在此期間,它將指導您創建管理會員帳戶并最終啟動哨兵服務。 相關命令可以參考這段代碼:

git clone https://github.com/getsentry/onpremise
cd onpremise
./install.sh
$ docker-compose up -d

如果啟動過程沒問題,在瀏覽器中輸入http://ip:9000進入Sentry登錄頁面,然后使用剛剛創建的管理員用戶名和密碼登錄系統。

前端項目訪問

經過剛才的一些操作,我們的Sentry服務器就完成了,接下來,我們可以在應用中集成Sentry客戶端SDK,在前端代碼中實時報錯。

Sentry 非常強大,支持各種前端框架,如 Vue、Angular、React 等。我們都知道 Vue 是一個流行的前端輕量級框架,具有輕量級、高性能和組件化的優勢。那么我將以Vue項目為例進行詳細介紹。

創建項目

首先,我們點擊Sentry頁面左側導航欄中的第一項Projects,然后,點擊頁面右上角的Create Project按鈕。

然后,在Browser下選擇Vue,再次點擊CreateProject就可以創建項目了。

接下來,您將看到 Sentry 給出的 Vue 項目的配置指南,它將逐步指導您完成項目配置。

然后,我們繼續指南。

首先,通過npm在項目中安裝Sentry依賴的兩個npm包,分別是@sentry/browser和@sentry/integrations,然后,在main.js中導入。

然后,使用Sentry.init初始化和配置Sentry。配置的時候,教程里已經提供了初始化代碼,我們直接復制粘貼到main.js中即可。

最后,我們點擊指南底部的確認按鈕,然后,自動跳轉到本項目的Issue錯誤頁面。

這里需要特別注意的是DSN地址與項目一一對應,不能隨意更改。

import * as Sentry from '@sentry/browser'
import { Vue as VueIntegration } from '@sentry/integrations'
Sentry.init({
dsn: 'https://xxxxxxxxxxxxxxxxx@sentry.in.cn/2',
integrations: [new VueIntegration({
Vue,
attachProps: true
})]
})

核實

現在,在Issue錯誤頁面上,我們看到,只有一個空白表單,并且沒有任務異常信息。 讓我們創建一個 JS 錯誤報告,看看 Sentry 的效果。

首先,我們在App.vue的created方法中添加一行代碼:this.test(),調用當前組件中不存在的方法,強行產生JS錯誤。 通過 Chrome DevTools 中的 Network 可以看到,每次頁面刷新時,都會發送一個 Sentry 相關的 Post 請求,也就是 Sentry 收集異常信息。 這時候進入Issue報錯頁面,我們發現Sentry已經顯示了捕獲到的異常:

我們知道,Sentry 將每個異常報告都視為一個 Event,每個 Event 都有一個 Fingerprint。 指紋默認由 Sentry 的分組算法生成。 相同指紋的事件將自動合并為一個問題。 具體生成邏輯可以查看官方文檔:https://docs.sentry.io/product/data-management-settings/event-grouping/

通過問題列表,我們可以獲得以下信息:異常類型、異常名稱、觸發位置、最近觸發時間、首次觸發時間等。

點擊進入問題詳情頁面,在頁面中間區域可以看到最新Event的具體信息,如用戶IP地址、瀏覽器信息、系統信息、異常調用棧信息等。

如何準確定位異常報錯的位置?

現在,我們看到 Sentry 已經捕獲了異常調用堆棧信息。但是,因為網上的代碼都是經過壓縮和混淆的,要知道是哪一行代碼報錯,只能全局搜索關鍵字,然后根據壓縮代碼的上下文定位。

那么如何查明錯誤消息呢?

首先,我們在Sentry后臺配置AuthToken,這是配置上傳Sourcemap的必要參數。

那么如何創建這個Token呢?

我們點擊頁面左上角的用戶名,在下拉菜單中找到User Settings,點擊進入用戶設置界面,然后,點擊Auth Tokens菜單選項新建一個Token。

接下來,我們在構建編譯代碼的時候開啟Sourcemap配置,然后,在根目錄下新建一個.sentryclirc文件。

最后,在項目中下載安裝Webpack插件@sentry/webpack-plugin,在打包配置文件中添加上傳Sourcemap到Sentry的配置。

具體配置請參考這段代碼:

[auth]
token=exxxxxxxxxxxx
[defaults]
project=xiaoan-web
org=sentry
url=https://sentry.xxxxx.com/
view raw

這里的 Release 屬性對應的是代碼版本。 Sentry在采集異常信息時,會同步采集用戶的代碼版本信息。 通過這些信息,我們可以知道是哪個版本引起了新的問題。

需要注意的是,UrlPrefix 屬性值并不是固定的,而是與項目靜態資源訪問路徑有關。

const SentryWebpackPlugin = require('@sentry/webpack-plugin')
const commitHash = require('child_process').execSync('git rev-parse HEAD').toString();
new SentryWebpackPlugin({
include: path.resolve(__dirname, '../dist/static/js/'),
ignoreFile: '.sentrycliignore',
ignore: ['node_modules', 'webpack.config.js'],
release: commitHash,
urlPrefix: '~/static/js' // https://ip.com/static/js/app.js
})

配置完成后,Sentry可以根據上傳的Sourcemap恢復代碼位置:

異常采集后如何及時通知相關人員?

當 Sentry 捕捉到異常時,我們希望它能實時通知開發者,針對這種情況,Sentry 提供了郵件通知功能,只需在 Sentry 的配置文件中添加相關配置即可。  

由于檢查郵件可能不夠及時,如果你的團隊使用 Telegram 進行協同工作,你可以嘗試使用第三方 Telegram 插件,你可以在網上搜索一下如何使用。

結論

以上就是今天的全部內容,希望你會喜歡,如果你覺得有用的話,請記得點贊我,關注我,并將它分享給你的朋友,也許能夠幫助到他。

最后,感謝您的閱讀,祝編程愉快!

責任編輯:龐桂玉 來源: web前端開發
相關推薦

2022-11-28 07:35:52

前端錯誤

2022-11-16 09:03:35

Sentry前端監控

2017-03-21 16:34:38

iOS捕獲異常

2017-05-04 21:30:32

前端異常監控捕獲方案

2013-05-14 11:13:40

動態捕獲PythonPython異常

2024-11-11 11:21:30

虛擬機Python跳轉表

2021-03-13 17:38:51

Python警告開發

2021-09-26 09:40:25

React代碼前端

2022-03-15 21:38:29

sentry微服務監控

2019-07-15 07:58:10

前端開發技術

2015-02-03 14:45:55

android全局異常

2023-08-10 13:46:48

前端資源優化

2022-06-10 14:09:18

前端監控異常數據

2021-12-15 20:06:48

ReactJSSentry開發者

2020-10-15 12:00:01

Python 開發編程語言

2020-11-10 09:19:23

Spring BootJava開發

2022-07-20 09:07:03

Linuxtcpdump網絡工具

2020-12-11 09:06:50

異常監控云服務

2019-03-14 15:59:44

前端開發編程

2022-08-11 08:27:24

Sentry日志監控系統
點贊
收藏

51CTO技術棧公眾號

欧美调教femdomvk| 国产成人在线视频网址| 亚洲美女精品久久| 男人女人黄一级| 欧美猛烈性xbxbxbxb| 国产激情视频一区二区三区欧美 | 国产小视频自拍| 日韩美香港a一级毛片| 亚洲在线视频免费观看| 欧美一区二区三区四区夜夜大片 | 亚洲精品天堂成人片av在线播放 | 警花av一区二区三区| 性久久久久久久久久久久| 日本最新一区二区三区视频观看| 99久久精品无免国产免费| 一本不卡影院| 欧美另类极品videosbestfree| 日韩av一二区| 91精品短视频| 欧美老年两性高潮| 成人免费观看毛片| 成人在线免费观看黄色| 国产精品久久久久久亚洲毛片| 韩国成人一区| 精品毛片一区二区三区| 青青草国产成人99久久| 91av视频在线免费观看| 免费视频一二三区| 日韩成人激情| 亚洲视频在线免费看| 日本美女视频网站| 小说区图片区亚洲| 欧美亚洲动漫另类| 女人扒开屁股爽桶30分钟| 色呦呦网站在线观看| 国产精品久久久久久久裸模| 久久精品五月婷婷| 日韩一级片免费| 国产成人av一区二区三区在线| 国产欧美日韩亚洲精品| 亚洲欧美日韩一区二区三区四区| 99在线热播精品免费99热| 欧美精品情趣视频| www欧美com| 婷婷亚洲最大| 久久精品国产91精品亚洲| 亚洲一二三四视频| 国产一区二区三区四区五区传媒 | 欧美日韩1区2区3区| 北条麻妃99精品青青久久| 欧美 日韩 国产 成人 在线观看| 三级小说欧洲区亚洲区| 日韩成人av网址| 国产日韩欧美a| 国产激情久久久久| 亚洲s码欧洲m码国产av| 在线不卡亚洲| 国内精品久久久久久| 久久亚洲AV无码| 国产精品99免费看| 高清欧美电影在线| 日韩免费不卡视频| 亚洲色诱最新| 日韩免费在线看| 精品国产青草久久久久96| 日韩国产欧美在线观看| 国产精品自产拍在线观看| 中国一区二区视频| 韩日av一区二区| 粉嫩高清一区二区三区精品视频 | av电影一区二区三区| 爆操欧美美女| 午夜av电影一区| 日本精品一区二区三区四区| 欧美电影免费观看| 欧美性大战久久久久久久蜜臀| 亚洲最大成人在线观看| 国产精品1区在线| 精品美女在线观看| 国产精品毛片一区二区| 欧美韩日高清| 高清视频欧美一级| 欧美福利视频一区二区| 日韩专区一卡二卡| 成人免费在线视频网站| 秋霞欧美在线观看| 国产夜色精品一区二区av| 伊人久久婷婷色综合98网| 青草视频在线免费直播| 日韩欧美中文在线| 特级黄色片视频| 亚洲黄色录像| 欧美疯狂性受xxxxx另类| 日韩 国产 在线| 精品中文av资源站在线观看| 国产精品久久久久久久小唯西川| 久久这里精品| 亚洲精品一二三区| 免费高清在线观看免费| 亚瑟国产精品| 亚洲欧美激情视频| 精品99在线观看| 石原莉奈在线亚洲二区| 51午夜精品| 激情在线视频| 亚洲成人综合网站| 中文字幕22页| 真实原创一区二区影院| 久久99亚洲热视| 日本精品入口免费视频| 风流少妇一区二区| 亚洲欧美精品| 亚洲欧美韩国| 日韩精品一区在线观看| 日本欧美一区二区三区不卡视频| 欧美午夜在线| 91精品一区二区| 国产精品二线| 精品成人av一区| gogo亚洲国模私拍人体| 日本一区二区三区视频| 69精品小视频| 丰满少妇在线观看bd| 国产精品日韩成人| 情侣黄网站免费看| 久久97精品| 欧美激情按摩在线| 国产亲伦免费视频播放| 国产欧美日韩在线| 欧美aⅴ在线观看| 日韩黄色网络| 91黑丝高跟在线| 亚洲精品综合网| 亚洲综合无码一区二区| 中文字幕第66页| 99tv成人| 国产欧美日韩视频| 尤物在线视频| 欧美三级在线看| jizz18女人高潮| 久久亚洲国产精品一区二区| 久久久com| 久久男人天堂| 国产视频久久久久| 亚洲男人第一av| 久久亚洲综合av| 无码人妻丰满熟妇区毛片18| 欧美电影免费网站| 91精品国产91久久久久| 亚洲精品手机在线观看| a级网站在线播放| 在线电影国产精品| 欧美肥妇bbwbbw| 国产原创一区二区| 女同性恋一区二区| 亚洲2区在线| 久久全球大尺度高清视频| 亚洲精选一区二区三区| 亚洲一二三区在线观看| 三叶草欧洲码在线| 另类av一区二区| 日韩尤物视频| av日韩久久| 色综合五月天导航| 色中色在线视频| 色偷偷久久人人79超碰人人澡| 高潮毛片无遮挡| 美女视频免费一区| 欧美a级黄色大片| 国产精品对白| 国产成人久久久| 蜜桃视频在线观看www社区 | 国产在线精品播放| av片在线观看| 亚洲风情亚aⅴ在线发布| 97超碰人人干| 国产精品久久久久一区| 久久发布国产伦子伦精品| 亚洲高清激情| 日韩一区不卡| 一区二区三区自拍视频| 欧美一区二区.| 欧美日韩在线看片| 精品电影一区二区三区| 亚洲第一网站在线观看| 国产精品成人免费在线| 不许穿内裤随时挨c调教h苏绵| 亚洲欧美日韩精品一区二区| 亚洲一区二区三区精品视频| 亚洲国产中文在线二区三区免| 97在线观看视频国产| 97人人在线| 日韩精品中文字幕一区| 波多野结衣啪啪| 亚洲精品国产a| 一级性生活毛片| 国产乱对白刺激视频不卡| 爱福利视频一区二区| 婷婷中文字幕一区| 麻豆av一区二区| 国产一区二区三区| 国产成人极品视频| 青青草视频在线免费直播| 亚洲欧美国产另类| 国产综合无码一区二区色蜜蜜| 在线亚洲人成电影网站色www| 51精品免费网站| 久久久欧美精品sm网站| 最好看的中文字幕| 免费欧美在线视频| www黄色av| 亚洲国产片色| 精品人妻人人做人人爽| 成人午夜国产| 欧美精品一区二区三区在线看午夜 | 久久香蕉国产| 欧美性色黄大片人与善| 超碰97久久| 91情侣偷在线精品国产| 亚洲www啪成人一区二区| 欧美精品久久久久| www.欧美日本韩国| www.精品av.com| 国产尤物视频在线| 日韩福利在线播放| 国产三级小视频| 欧美日韩一区国产| 无码人妻丰满熟妇奶水区码| 婷婷六月综合网| 久久免费播放视频| 一二三区精品视频| 亚洲天堂黄色片| 亚洲欧美色图小说| 无码人妻精品中文字幕| 日本一区二区三区四区在线视频| 亚洲国产第一区| www.视频一区| 在线免费观看污视频| 大尺度一区二区| 日本精品一二三| 国产传媒日韩欧美成人| 中文字幕55页| 国产美女精品在线| www.久久com| 国产成人免费视频一区| 亚洲精品乱码久久久久久9色| 国产美女在线精品| 国产黄色一区二区三区 | 色激情天天射综合网| 国产69精品久久久久久久久久| 亚洲高清中文字幕| 日韩精品一卡二卡| 精品久久久久久久久久ntr影视| 国产主播在线播放| 午夜电影网亚洲视频| 97人人做人人爱| 日韩理伦片在线| 日韩少妇与小伙激情| 日本不卡三区| 免费99精品国产自在在线| 污视频网站在线免费| 欧美劲爆第一页| 日本蜜桃在线观看视频| 欧美一区二区三区艳史| 电影一区二区三区| 国产精品夜间视频香蕉| 国产精品亚洲综合在线观看 | a级片免费视频| 亚洲成人av资源网| 欧美日本韩国一区二区| 国产小视频91| 一色桃子av在线| 97在线视频一区| 国产麻豆久久| 亚洲直播在线一区| 欧美激情极品| 一区二区三区不卡在线| 欧美私人啪啪vps| 国产偷人视频免费| 精品无人区卡一卡二卡三乱码免费卡| 婷婷激情综合五月天| 成人久久久精品乱码一区二区三区| 久久精品综合视频| 国产精品美女久久久久久久网站| 午夜爱爱毛片xxxx视频免费看| 午夜精品久久久久久久99水蜜桃| 欧美一区免费看| 欧美一区二区网站| 亚洲欧美综合一区二区| 色99之美女主播在线视频| 男女免费观看在线爽爽爽视频| 欧亚精品中文字幕| 在线成人免费| 茄子视频成人在线观看| 欧美成人亚洲| 成人性生生活性生交12| 国产91精品露脸国语对白| 日韩一区二区a片免费观看| 自拍偷在线精品自拍偷无码专区| 国产精品久久久久久久妇| 欧美欧美欧美欧美| 三级视频网站在线| 欧美成人免费小视频| 国产欧美一区二区三区精品酒店| 91系列在线观看| 精品99久久| 成 年 人 黄 色 大 片大 全| 久久国产精品一区二区| 国产精品第七页| 亚洲靠逼com| 在线观看免费黄色小视频| 亚洲国产毛片完整版| 成人短视频在线| 国产精品成人品| 任你弄精品视频免费观看| www.69av| 久久99国产精品免费| 亚洲成人网在线播放| 亚洲一区av在线| 国产特级黄色片| 中文字幕在线看视频国产欧美| 成人动漫一区| 久久久亚洲综合网站| 精品福利av| 下面一进一出好爽视频| 国产精品乱人伦一区二区| 精品国产xxx| 亚洲精品国精品久久99热| 欧美性video| 俄罗斯精品一区二区三区| 91成人影院| 天天操精品视频| 日韩一区欧美一区| 一级特黄色大片| 日韩在线观看av| 日韩三区四区| 亚洲国产成人不卡| 日韩av成人高清| 一本在线免费视频| 欧美日韩高清影院| 思思99re6国产在线播放| 国产精品高精视频免费| 国产一区二区三区四区| 国产成人精品视频ⅴa片软件竹菊| 99久久99精品久久久久久| 日韩伦理在线视频| 亚洲国产精品va在线| 69av成人| 美脚丝袜一区二区三区在线观看| 性伦欧美刺激片在线观看| 中文字幕狠狠干| 欧美在线观看视频一区二区 | 日本美女高潮视频| 国产人成一区二区三区影院| 中文字幕久久熟女蜜桃| 色狠狠av一区二区三区香蕉蜜桃| 日韩一级特黄| 日本a级片在线观看| 大白屁股一区二区视频| wwwxxx亚洲| 一区二区欧美亚洲| 欧美亚洲黄色| 在线观看三级网站| 成熟亚洲日本毛茸茸凸凹| 亚洲 欧美 日韩 综合| 亚洲午夜未满十八勿入免费观看全集| 成人免费福利| 亚洲天堂第一区| 99麻豆久久久国产精品免费 | 欧洲精品在线一区| 美女尤物国产一区| 青娱乐国产在线视频| 亚洲国产另类久久精品 | 亚洲xxx视频| 国产精品美女| 久久视频一区二区三区| 日韩欧美的一区二区| 九九色在线视频| 日本精品视频一区| 国产一区激情在线| www.av麻豆| 深夜成人在线观看| 红杏一区二区三区| 天天影视综合色| 一区二区三区精品视频| 国模精品一区二区| 日韩欧美不卡在线观看视频| 午夜一区二区三区免费| 一区二区三区av电影| 青青青免费视频在线2| 成人精品视频在线| 国产亚洲精品v| 国产午夜精品理论片在线| 亚洲精品久久视频| 91亚洲精品在看在线观看高清| 国产视频一视频二| 亚洲欧洲日本在线| 免费在线黄色电影| 97操在线视频| 久久99这里只有精品|