搭建前端監(jiān)控系統(tǒng)(三)靜態(tài)資源加載監(jiān)控篇如何監(jiān)控前端靜態(tài)資源加載情況:前端開發(fā)者可以根據(jù)報(bào)錯(cuò)是的,還是script標(biāo)簽。由于目前暫時(shí)關(guān)注對(duì)前端造成崩潰的錯(cuò)誤,所以目前只監(jiān)控了css,js文件加載錯(cuò)誤的情況。首先,前端工程師要做的實(shí)時(shí)監(jiān)控和預(yù)警,依然關(guān)聯(lián)了7天以前同一時(shí)間端的數(shù)據(jù),如果某個(gè)時(shí)間段出現(xiàn)錯(cuò)誤量暴增,可以發(fā)出警告,及時(shí)制止。然后,前端開發(fā)者還需要知道更多詳細(xì)的信息,如資源加載報(bào)錯(cuò)、資源失敗列表等等,雖然前端線上環(huán)境并沒有給前端開發(fā)者報(bào)出這么多的問題,但是可以看到,每天還是有很多的靜態(tài)資源加載報(bào)錯(cuò),有些是很重要的靜態(tài)資源文件,是必然會(huì)導(dǎo)致頁面渲染失敗的,所以必須要解決建立合理的前端監(jiān)控機(jī)制。 webfunny前端一體化埋點(diǎn)系統(tǒng),支持多場景搭建分析,更全的支持業(yè)務(wù)的多角度分析。前端監(jiān)控和js文件加載錯(cuò)誤監(jiān)控軟件開源
前端出現(xiàn)異常只有一種情況是需要前端程序員自己背鍋的,那就是前端代碼錯(cuò)誤。別人的鍋都可以甩出去,甩鍋給后端、三方公司、網(wǎng)絡(luò)問題等等,但是剩下前端自己代碼問題,這種就是前端的鍋了。正常情況下,線上前端代碼出現(xiàn)錯(cuò)誤的可能行比較小,因?yàn)榻?jīng)過細(xì)心的測試,前端代碼錯(cuò)誤是很容暴露出來的。另外,前端自己的鍋,咱自己應(yīng)該清楚。加上我在設(shè)計(jì)webfunny前端監(jiān)控系統(tǒng)的時(shí)候,做了一個(gè)非常細(xì)致的錯(cuò)誤分析,針對(duì)前端問題解決起來也是得心應(yīng)手。造成線上問題的因素有很多,代碼錯(cuò)誤是其中一個(gè)很小的因素。通過webfunny前端監(jiān)控系統(tǒng)可以在這眾多繁雜的因素之中找到真正原因,這個(gè)監(jiān)控系統(tǒng)并不是幫你解決所有問題,而是能夠告訴你那些問題是你不能解決,重要的是你能準(zhǔn)確甩鍋了。開源的前端監(jiān)控和前端性能監(jiān)控軟件webfunny前端監(jiān)控系統(tǒng),自定義埋點(diǎn)功能,更加靈活的自定義埋點(diǎn),滿足更多定制化的業(yè)務(wù)場景。
webfunny前端監(jiān)控系統(tǒng)—純私有化部署,可實(shí)現(xiàn)的功能介紹,前端監(jiān)控第三個(gè)功能模塊、用戶細(xì)查維度:webfunny前端監(jiān)控這塊的功能可以讓前端工程師查看單個(gè)用戶的具體行為,前端工程師可以清楚地知道,某個(gè)用戶,在某個(gè)時(shí)間,訪問了某個(gè)頁面,點(diǎn)擊了某個(gè)按鈕,發(fā)送了某個(gè)請(qǐng)求,從而產(chǎn)生了某個(gè)錯(cuò)誤,一目了然。同時(shí)webfunny前端監(jiān)控系統(tǒng)還對(duì)這個(gè)用戶的各種外部環(huán)境做了分析,讓工程師追蹤用戶問題易如反掌。查詢用戶具體的行為記錄:主要包括一個(gè)月內(nèi)每天的訪問記錄、用戶瀏覽、點(diǎn)擊、請(qǐng)求、報(bào)錯(cuò)、超時(shí)等等,前端工程師可以清晰的知道用戶在頁面上的行為,從而復(fù)現(xiàn)用戶的bug。設(shè)備分析:主要包括設(shè)備、系統(tǒng)、IP、地理位置、等等;網(wǎng)絡(luò)環(huán)境評(píng)估:通過對(duì)資源加載的的耗時(shí)分析,評(píng)估出用戶當(dāng)時(shí)的網(wǎng)絡(luò)狀況,用來做分析對(duì)比。
搭建前端監(jiān)控系統(tǒng)(七)之用戶細(xì)查篇一、如何貫穿用戶的整個(gè)行為鏈路?這個(gè)很好理解,貫穿用戶的整個(gè)行為鏈路,就需要一個(gè)單一的key來標(biāo)識(shí)這個(gè)用戶。比較簡單的就是使用UserId了,在通過webfunny前端監(jiān)控系統(tǒng)「用戶細(xì)查」的功能模塊,每個(gè)用戶我都給他傳入一個(gè)userId就可以了串聯(lián)起來了。但是這種方式有一個(gè)很容易被忽略的弊端:如果這個(gè)項(xiàng)目獲取userId速度比較慢,或者壓根不會(huì)有userId,那么用戶的行為記錄是不是會(huì)出現(xiàn)缺失呢?或者根本就無法關(guān)聯(lián)呢?那我們?cè)撊绾我?guī)避這種問題呢?webfunny是如何做到的呢?為了規(guī)避以上提出的幾點(diǎn)問題,webfunny通過設(shè)置內(nèi)置id,來對(duì)所有的用戶進(jìn)行區(qū)分。然后再通過userId,將所有的內(nèi)置id關(guān)聯(lián)在一起,這樣一來,只要在用戶的生命周期過程中,傳入一次userId,我們就可以關(guān)聯(lián)上用戶所有的行為記錄了。內(nèi)置ID生成規(guī)則的代碼,感興趣的前端同學(xué)可以到webfunny官網(wǎng)查看本篇博客原文。webfunny前端一體化埋點(diǎn),通過對(duì)業(yè)務(wù)活動(dòng)的埋點(diǎn)分析,來實(shí)現(xiàn)業(yè)務(wù)的轉(zhuǎn)化留存分析。
說到監(jiān)控,大家時(shí)間想到的肯定是Zabbix、Nagios等各種強(qiáng)大的后端監(jiān)控服務(wù)。
誠然,這些強(qiáng)大的平臺(tái)通過采集服務(wù)器以及鏈路上各種中間件的數(shù)據(jù),為我們的應(yīng)用穩(wěn)定起到了不可或缺的保駕護(hù)航作用。然而在互聯(lián)網(wǎng)的另一端,運(yùn)行在用戶終端上的代碼卻缺少這樣強(qiáng)大的監(jiān)控能力。
對(duì)于工程師來說,想到或者做出一個(gè)前端監(jiān)控方案并不是什么難事——通過全局的事件捕獲到運(yùn)行時(shí)錯(cuò)誤,然后上報(bào)到采集端,再做一個(gè)頁面展示數(shù)據(jù)——看起來確實(shí)只需要寫一個(gè)簡單的CRUD應(yīng)用就能搞定。webfunny前端監(jiān)控此就是把前端監(jiān)控應(yīng)用做到面面俱到。 webfunny前端監(jiān)控系統(tǒng)的功能:性能分析模塊,通過探針可對(duì)頁面的加載性能進(jìn)行分析,并直觀反映在報(bào)表上。前端監(jiān)控和靜態(tài)資源加載錯(cuò)誤監(jiān)控方案
webfunny前端監(jiān)控系統(tǒng)的用戶細(xì)查功能:是深入分析每個(gè)用戶,記錄用戶的所有行為。前端監(jiān)控和js文件加載錯(cuò)誤監(jiān)控軟件開源
前端監(jiān)控系統(tǒng)搭建第一步之購買阿里云服務(wù)器(本地部署類似)對(duì)于之前沒有搞過服務(wù)器的前端來說,折騰一個(gè)能運(yùn)行的服務(wù)器,還真是費(fèi)了不少周折。服務(wù)器類型:入門級(jí)(共享)2vCPU、4GB內(nèi)存、帶寬2M(個(gè)人建議2vCpu、2GB內(nèi)存足矣)安裝運(yùn)行環(huán)境:系統(tǒng):Ubuntu1664位硬盤40G(默認(rèn))安裝nvm安裝使用教程,運(yùn)行前端項(xiàng)目可能會(huì)需要切換node版本,建議提前安裝。安裝PM2安裝使用教程,運(yùn)行node服務(wù)應(yīng)該都知道這個(gè),它是個(gè)node服務(wù)進(jìn)程管理器。安裝JDK(Java運(yùn)行環(huán)境),安裝tomcat,并配置環(huán)境變量,這個(gè)網(wǎng)上教程一大堆。安裝Jenkins安裝教程,下載Jenkins的war包,在tomcat下運(yùn)行,搭建自動(dòng)化部署系統(tǒng)。工欲善其事必先利其器,因?yàn)闀?huì)頻繁的發(fā)布版本,所以這個(gè)建議先安裝好。安裝Mysql數(shù)據(jù)庫安裝教程,存儲(chǔ)數(shù)據(jù)日志,用于以后的分析。安裝Nginx安裝教程,nginx服務(wù)器用來做轉(zhuǎn)發(fā),反向代理,以及跨域處理等等。前端監(jiān)控和js文件加載錯(cuò)誤監(jiān)控軟件開源
上海觀縱科技有限公司總部位于上海市奉賢區(qū)望園南路1288弄80號(hào)1904、1909室,是一家一般項(xiàng)目:技術(shù)服務(wù)、技術(shù)開發(fā)、技術(shù)咨詢、技術(shù)交流、技術(shù)轉(zhuǎn)讓、技術(shù)推廣;軟件開發(fā);人工智能基礎(chǔ)軟件開發(fā);人工智能應(yīng)用軟件開發(fā);數(shù)據(jù)處理服務(wù);信息技術(shù)咨詢服務(wù);信息系統(tǒng)集成服務(wù):信息系統(tǒng)運(yùn)行維護(hù)服務(wù);計(jì)算機(jī)系統(tǒng)服務(wù);軟件銷售;計(jì)算機(jī)軟硬件及輔助設(shè)備批發(fā);計(jì)算機(jī)軟硬件及輔助設(shè)備零售;電子產(chǎn)品銷售;通信設(shè)備銷售;通訊設(shè)備銷售;咨詢策劃服務(wù);市場調(diào)查(不含涉外調(diào)查);廣告制作;廣告發(fā)布;廣告設(shè)計(jì)、代理;會(huì)議及展覽服務(wù);貨物進(jìn)出口。(除依法須經(jīng)批準(zhǔn)的項(xiàng)目外,憑營業(yè)執(zhí)照依法自主開展經(jīng)營活動(dòng)) 許可項(xiàng)目:建筑智能化系統(tǒng)設(shè)計(jì);建設(shè)工程施工;網(wǎng)絡(luò)文化經(jīng)營;互聯(lián)網(wǎng)信息服務(wù)。(依法須經(jīng)批準(zhǔn)的項(xiàng)目,經(jīng)相關(guān)部門批準(zhǔn)后方可開展經(jīng)營活動(dòng),具體經(jīng)營項(xiàng)目以相關(guān)部門批準(zhǔn)文件或許可證件為準(zhǔn))的公司。公司自創(chuàng)立以來,投身于webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控,是傳媒、廣電的主力軍。觀縱科技不斷開拓創(chuàng)新,追求出色,以技術(shù)為先導(dǎo),以產(chǎn)品為平臺(tái),以應(yīng)用為重點(diǎn),以服務(wù)為保證,不斷為客戶創(chuàng)造更高價(jià)值,提供更優(yōu)服務(wù)。觀縱科技始終關(guān)注傳媒、廣電市場,以敏銳的市場洞察力,實(shí)現(xiàn)與客戶的成長共贏。