搭建前端監(jiān)控系統(tǒng)(七)之用戶(hù)細(xì)查篇二、利用多個(gè)維度來(lái)準(zhǔn)確定位到具體的用戶(hù)上面提到了用戶(hù)的userId獲取速度可能比較慢,或者根本不會(huì)有,那我們?cè)撛趺慈グ延脩?hù)的行為記錄查出來(lái)呢。其實(shí),我們可以通過(guò)用戶(hù)行為產(chǎn)生的時(shí)間,用戶(hù)的ip地址,地理位置以及訪問(wèn)設(shè)備等信息的佐證,來(lái)找到具體的用戶(hù),在webfunny前端監(jiān)控系統(tǒng)里,這塊兒會(huì)詳細(xì)展示出來(lái)。前端程序員通過(guò)其他維度的信息,可以鎖定一些用戶(hù),即使在沒(méi)有userId的情況下,我們依然可以通過(guò)內(nèi)置ID查到用戶(hù)的行為記錄,幫助我們排查問(wèn)題。其中如何通過(guò)IP地址查詢(xún)地理位置,建議前端程序員可以使用node-ip2region這個(gè)庫(kù)進(jìn)行查詢(xún),挺好用的。webfunny埋點(diǎn)系統(tǒng),更輕量、易使用,降低數(shù) 據(jù)分析使用門(mén)檻,快速實(shí)現(xiàn)業(yè)務(wù)分析需求。從零開(kāi)始搭建前端監(jiān)控和前端異常監(jiān)控
前端監(jiān)控目標(biāo)前端監(jiān)控主要包含兩大塊:性能監(jiān)控及異常監(jiān)控保證穩(wěn)定性(異常監(jiān)控)錯(cuò)誤監(jiān)控包括JavaScript代碼錯(cuò)誤,Promsie錯(cuò)誤,接口(XHR,fetch)錯(cuò)誤,資源加載錯(cuò)誤(script,link等)等,這些錯(cuò)誤大多會(huì)導(dǎo)致頁(yè)面功能異常甚至白屏。提升用戶(hù)體驗(yàn)(性能監(jiān)控)性能監(jiān)控包括頁(yè)面的加載時(shí)間,接口響應(yīng)時(shí)間等,側(cè)面反應(yīng)了用戶(hù)體驗(yàn)的好壞。
3性能監(jiān)控3.1簡(jiǎn)單描述頁(yè)面加載簡(jiǎn)單看一下,從輸入url到頁(yè)面加載完成的過(guò)程如下:首先需要通過(guò)DNS(域名解析系統(tǒng))將URL解析為對(duì)應(yīng)的IP地址,然后與這個(gè)IP地址確定的那臺(tái)服務(wù)器建立起TCP網(wǎng)絡(luò)連接,隨后我們向服務(wù)端拋出HTTP請(qǐng)求,服務(wù)端處理完我們的請(qǐng)求之后,把目標(biāo)數(shù)據(jù)放在HTTP響應(yīng)里返回給客戶(hù)端,拿到響應(yīng)數(shù)據(jù)的瀏覽器就可以開(kāi)始走一個(gè)渲染的流程。渲染完畢,頁(yè)面便呈現(xiàn)給了用戶(hù)。 前端監(jiān)控和js錯(cuò)誤監(jiān)控工具開(kāi)源webfunny前端監(jiān)控系統(tǒng),一站式數(shù)據(jù)可視化展示平臺(tái),炫酷大屏,自由部署。
webfunny前端監(jiān)控項(xiàng)目可實(shí)現(xiàn):一、統(tǒng)計(jì)前端錯(cuò)誤眾所周知,我們有辦法去統(tǒng)計(jì)前端的錯(cuò)誤,那就是大名鼎鼎的,,以及一些額外的信息。將,就能統(tǒng)計(jì)出每天的錯(cuò)誤量,每個(gè)小時(shí)的錯(cuò)誤量,每天的錯(cuò)誤率變化,來(lái)鑒定我們前端線上環(huán)境是否健康。我們按照J(rèn)S錯(cuò)誤數(shù)量進(jìn)行分類(lèi)排序,按照頁(yè)面進(jìn)行錯(cuò)誤分類(lèi)。通過(guò)上邊的數(shù)據(jù)分析,我們能夠清晰地觀察到線上項(xiàng)目的報(bào)錯(cuò)情況。二、分析錯(cuò)誤詳情前端線上的錯(cuò)誤日志統(tǒng)計(jì)出來(lái)后,通過(guò)webfunny前端監(jiān)控項(xiàng)目可以解析這些錯(cuò)誤日志,解析出用戶(hù)的機(jī)型,版本,系統(tǒng)平臺(tái),影響范圍,以及具體的錯(cuò)誤位置,從而提高前端開(kāi)發(fā)者解決問(wèn)題的效率。
很多前端程序員都很難接觸到實(shí)踐前端埋點(diǎn)與監(jiān)控。當(dāng)然,就算有機(jī)會(huì)接觸到前端監(jiān)控的前端,一旦遇到相關(guān)問(wèn)題也十分令人痛苦了。用戶(hù)在實(shí)際場(chǎng)景重的一系列操作,外加一些類(lèi)似機(jī)型、網(wǎng)絡(luò)環(huán)境的問(wèn)題,讓前端很難在開(kāi)發(fā)環(huán)境中復(fù)現(xiàn)出來(lái)。特別是前端在沒(méi)有監(jiān)控加持的情況下,需要人為手動(dòng)解決問(wèn)題,還要應(yīng)對(duì)產(chǎn)品的需求轟炸,真是太難了。作為webfunny前端監(jiān)控系統(tǒng)的開(kāi)發(fā)者,我們深知做好任何一個(gè)產(chǎn)品都不會(huì)那么容易,特別是前端監(jiān)控這種技術(shù)型產(chǎn)品,webfunny前端監(jiān)控系統(tǒng)還有很多需要改進(jìn)和提升的地方,而webfunny前端監(jiān)控一直在不斷的迭代產(chǎn)品。如果你是前端工程師,對(duì)監(jiān)控有興趣,可以來(lái)webfunny官網(wǎng)試用demo,只需要簡(jiǎn)單幾步就可以搭建一套屬于自己的前端監(jiān)控系統(tǒng),快來(lái)試試吧(Github搜索webfunny_monitor即可下載)。你是如何搭建 Web 前端性能監(jiān)控系統(tǒng)的?
搭建前端監(jiān)控系統(tǒng)(五)消息隊(duì)列處理并發(fā),通過(guò)一個(gè)消息暴增引發(fā)的前端線上崩了的問(wèn)題場(chǎng)景來(lái)說(shuō)明:消息隊(duì)列處理并發(fā)的重要性隨著前端監(jiān)控日志搜集的內(nèi)容越來(lái)越多,終于由于公司公眾號(hào)的一波推文,導(dǎo)致了日志的瞬間流量達(dá)到歷史新高,以至于mysql無(wú)法處理如此多的連接,系統(tǒng)崩潰。當(dāng)然,作為日志上傳的服務(wù)器,這個(gè)是必然會(huì)發(fā)生的情況,只是早晚的問(wèn)題。既然出現(xiàn)了并發(fā)問(wèn)題,那么前端工程師們就著手來(lái)處理吧。日志上傳如何緩解高并發(fā)的情況呢?我們分為三個(gè)小點(diǎn)來(lái)處理。何搭建 Web 前端性能監(jiān)控系統(tǒng)的?給大家推薦一款開(kāi)源的前端監(jiān)控系統(tǒng)就是webfunny.有哪些好用的前端監(jiān)控和前端性能監(jiān)控系統(tǒng)
webfunny前端監(jiān)控系統(tǒng)的功能:性能分析模塊,通過(guò)探針可對(duì)頁(yè)面的加載性能進(jìn)行分析,并直觀反映在報(bào)表上。從零開(kāi)始搭建前端監(jiān)控和前端異常監(jiān)控
整體大致可以分四個(gè)階段:信息采集、存儲(chǔ)、分析、監(jiān)控。采集階段:收集異常日志,先在本地做一定的處理,采取一定的方案上報(bào)到服務(wù)器。存儲(chǔ)階段:后端接收前端上報(bào)的異常日志,經(jīng)過(guò)一定處理,按照一定的存儲(chǔ)方案存儲(chǔ)。分析階段:分為機(jī)器自動(dòng)分析和人工分析。機(jī)器自動(dòng)分析,通過(guò)預(yù)設(shè)的條件和算法,對(duì)存儲(chǔ)的日志信息進(jìn)行統(tǒng)計(jì)和篩選,發(fā)現(xiàn)問(wèn)題,觸發(fā)報(bào)警。人工分析,通過(guò)提供一個(gè)可視化的數(shù)據(jù)面板,讓系統(tǒng)用戶(hù)可以看到具體的日志數(shù)據(jù),根據(jù)信息,發(fā)現(xiàn)異常問(wèn)題根源。報(bào)警階段:分為告警和預(yù)警。告警按照一定的級(jí)別自動(dòng)報(bào)警,通過(guò)設(shè)定的渠道,按照一定的觸發(fā)規(guī)則進(jìn)行。預(yù)警則在異常發(fā)生前,提前預(yù)判,給出警告。性能監(jiān)控:使用ResourceTimingAPI和PerformanceTimingAPI,可以計(jì)算許多重要的指標(biāo),比如頁(yè)面性能統(tǒng)計(jì)的起始點(diǎn)時(shí)間、首屏?xí)r間等。異常監(jiān)控:前端捕獲異常分為全局捕獲和局部捕獲。局部捕獲作為補(bǔ)充,對(duì)某些特殊情況進(jìn)行捕獲,但分散,不利于管理。所以,我會(huì)選擇全局捕獲的方式,即通過(guò)全局的接口,將捕獲代碼集中寫(xiě)在一個(gè)地方。具體在實(shí)現(xiàn)項(xiàng)目中,我應(yīng)該會(huì)采用badjs-report,它重寫(xiě)了進(jìn)行上報(bào)異常,無(wú)需編寫(xiě)任何捕獲錯(cuò)誤的代碼。從零開(kāi)始搭建前端監(jiān)控和前端異常監(jiān)控
上海觀縱科技有限公司是一家集研發(fā)、制造、銷(xiāo)售為一體的****,公司位于上海市奉賢區(qū)望園南路1288弄80號(hào)1904、1909室,成立于2022-11-14。公司秉承著技術(shù)研發(fā)、客戶(hù)優(yōu)先的原則,為國(guó)內(nèi)webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控的產(chǎn)品發(fā)展添磚加瓦。公司主要經(jīng)營(yíng)webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控等產(chǎn)品,產(chǎn)品質(zhì)量可靠,均通過(guò)傳媒、廣電行業(yè)檢測(cè),嚴(yán)格按照行業(yè)標(biāo)準(zhǔn)執(zhí)行。目前產(chǎn)品已經(jīng)應(yīng)用與全國(guó)30多個(gè)省、市、自治區(qū)。webfunny,walkingfunny,argus為用戶(hù)提供真誠(chéng)、貼心的售前、售后服務(wù),產(chǎn)品價(jià)格實(shí)惠。公司秉承為社會(huì)做貢獻(xiàn)、為用戶(hù)做服務(wù)的經(jīng)營(yíng)理念,致力向社會(huì)和用戶(hù)提供滿(mǎn)意的產(chǎn)品和服務(wù)。上海觀縱科技有限公司嚴(yán)格規(guī)范webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控產(chǎn)品管理流程,確保公司產(chǎn)品質(zhì)量的可控可靠。公司擁有銷(xiāo)售/售后服務(wù)團(tuán)隊(duì),分工明細(xì),服務(wù)貼心,為廣大用戶(hù)提供滿(mǎn)意的服務(wù)。