網站已經用了百度統計,但現在移動端的瀏覽器,如夸克,UC等預設都禁廣告,同時也會阻止統計的js執行,所以百度統計只能統計到一部分。
可以用指令碼來在nginx日誌中統計URL但比較麻煩,在網上搜了一下統計nginx的工具,發現有個goaccess還比較方便。
安裝依賴庫:
yum install -y GeoIP-devel ncurses-devel
安裝:
$ wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz $ tar -xzvf goaccess-1.9.3.tar.gz $ cd goaccess-1.9.3/ $ ./configure --enable-utf8 --enable-geoip=mmdb $ make # make install
遇到的問題:
1.日誌格式的配置
由於我的nginx日誌格式不是預設的,當初是由於nginx要按天出日誌做過修改
# 日誌按天分割 log_format main '$remote_addr - $remote_user [$time_iso8601] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_body"';
114.119.141.127 - - [2024-06-09T00:00:12+08:00] "GET /d/184833 HTTP/1.1" 200 6857 "https://www.hjdang.com/d/184834" "Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot)" "-" "-"
看網上都是下面這種配置
配置檔案位於:/usr/local/etc/goaccess/goaccess.conf
1
|
time-format %H:%M:%S
|
搞了好久,還用了一個工具轉化(不行),終於配置好了。配置如下:
time-format %H:%M:%S date-format %Y-%m-%d log_format %h - %^ [%dT%t+%^] "%r" %s %b "%R" "%u" "%^""%^"
2. 實時html不重新整理
goaccess www.hjdang_2024-06-08.log -o /data/file/goaccess/report.html --real-time-html
生成實時html發現重新整理不了,後來才知道是websocket的埠7890沒有開
3. --daemonize沒有用
後臺執行引數--daemonize不起作用,加上後命令無效。後來才知道要www.hjdang_2024-06-08.log 要用絕對路徑
goaccess -f /data/log/nginx/www.hjdang_2024-06-08.log -o /data/file/goaccess/report.html --real-time-html --daemonize