前端md5加密 Ohbug 前端監控系統開源第二彈

2021-10-14 16:58:34 字數 1709 閱讀 4998

依據資料的流向,我大概繪製了乙個架構圖:

這裡解釋一下幾個核心模組的功能:

首先看一眼 event 的資料結構:

inte***ce ohbugevent
event 通過 sdk 收集上來以後,通過 nginx **給 transfer。

為了方便儲存,transfer 需要對不確定資料型別的字段預處理為字串,這裡轉化detailactionsmetadata三個字段。 具體轉化的細節可見原始碼 formatter。

之後將預處理後的 event 給到 manager。

manager 收到 transfer 傳來的 event 後,首先對 event 進行聚合,聚合的目的是將相同的 event 合併,畢竟資料展示時不希望看到一堆相同的問題佔據視野。

聚合的思路是根據資料結構對 event 進行解構,例如 fetch 的異常就取出 url, method, data 這些資料,通過 md5 加密後得到聚合的依據intro

case fetch_error:

return ,

};

得到了intro就可以將相同intro的 event 合併到乙個資料集裡,我們稱每乙個資料集為 issue,然後就可以將資料持久化儲存了。

event 的儲存通過 kafka 通知到 logstash,logstash 存入 elasticsearch。

issue 的儲存則直接使用 postgresql,另外 ohbug 使用 typeorm 來操作 postgresql,好處是方便做資料庫之間的遷移。

manager 在完成 issue 的儲存後,會判斷當前條件是否符合通知規則,再將 issue 與通知內容一起傳給 notifier。

notifier 的工作就是就收到任務後觸發指定通知,包括 email、webpush、webhook 的傳送/觸發。

dashboard 為控制台整體流程的提供支援。主要工作是為控制台前端提供資料,例如下圖

另外 issue 對應的 event 資料通過 elasticsearch 獲取:

除此之外 dashboard 還實現了使用者系統、團隊、專案、通知、sourcemap 的增刪改查。

關於 dashboard 的實現其實還有很多東西可以聊,以後可以單獨拿出一篇單聊。

目前的實現還是屬於比較基礎的資料採集分析產品,以後還有許多可拓展的方向,如果你出於平台資料安全的考慮,ohbug 也支援本地部署。

乙個人的力量有限,我們擁抱開源一方面也是為了集中力量辦事,希望有更多開發者加入進來,完善 ohbug。

前端md5加密執行兩次

在練習中遇到乙個小bug,解決後記錄 問題是這樣的,前端修改密碼的表單用了md5進行加密,同時使用bootstrapvalidator進行表單驗證 reset pwd form on submit function 在提交到後台後,修改完密碼卻不能正常登入了。經過檢查,資料庫中的密碼確實發生了改變 ...

前端輸入框內密碼用MD5加密處理

js md5官網 前端密碼的輸入框要進行加密處理後,再進行傳輸的時候,可以考慮使用md5進行加密。使用方法如下 安裝 通過bower安裝 brower insatll md5 通過node.js安裝 npm install js md5 注意 buffer方法已被棄用。這可能與node.js中的bu...

前端實現MD5加密(以小程式為例)

md5.js var rotateleft function lvalue,ishiftbits var addunsigned function lx,ly else var f function x,y,z var g function x,y,z var h function x,y,z va...