公司自研的嵌入式瀏覽器發布執行已經有一段時間了,一直沒有做詳細的資料統計,這次提出需求,需要較詳細的統計資料。
瀏覽器是通過**伺服器訪問網頁內容,在**伺服器上做了一次協議轉換,將html頁面轉換為私有的二進位制協議返回瀏覽器端,以節省流量和加快瀏覽速度。所以要增加統計資料只需要在**伺服器端進行處理。
需要考慮的是如何記錄使用者訪問資料,公司現已有一套資料倉儲和資料分析系統,也有專門的人員做資料分析。所以最早考慮的方案是直接將使用者的http訪問記錄寫入資料庫,然後由資料倉儲的分析人員定時匯入到資料倉儲進行資料分析。但是考慮到目前資料倉儲處理和分析資料需要的時間較長,統計資料的即時性有一定欠缺。
最終決定採用記錄到日誌檔案的方式,採用apache的http日誌格式:
"%h %l %u %t \"%r\" %>s %b \"%i\" \"%i\""
因為會訪問大量不同站點,所以在最前面增加了host項,如下:
"%host %h %l %u %t \"%r\" %>s %b \"%i\" \"%i\""
然後直接採用awstats進行日誌分析。
因為**服務部署了多個節點,並分布在不同的idc,所以還面臨著日誌如何合併處理的問題,目前只針對單個伺服器上的日誌做了合併,不同伺服器的資料還無法合併。
但是http日誌可以很容易的匯入到資料倉儲中,因此總的日誌的統計分析可以考慮在後期使用資料倉儲進行。
Spring Boot 記錄 Http 日誌
在使用spring boot開發web api的時候希望把request,request header,responsereponse header,uri,method等等的資訊記錄到我們的日誌中,方便我們排查問題,也能對系統的資料做一些統計。spring使用了dispatcherservlet來...
Mysql訪問日誌記錄
假設這麼乙個情況,你是某公司mysql dba,某日突然公司 資料庫中的所有被人為刪了。儘管有資料備份,但是因服務停止而造成的損失上千萬,現在公司需要查出那個做刪除操作的人。但是擁有資料庫操作許可權的人很多,如何排查,證據又在哪?是不是覺得無能為力?mysql 本身並沒有操作審計的功能,那是不是意味...
Nginx 訪問日誌分析
0 nginx日誌格式配置 1 統計pv數 1 統計所有的pv數 cat access.log wc l 2 統計當天的pv數 cat access.log sed n date d b y p wc l 3 統計指定某一天的pv數 cat access.log sed n 20 aug 2017 ...