會算 Apache Access Log 之後
也算一下 IIS 的吧
只能把 u_exyyddmm.log 檔案拿到 Linux 上來算
不過我用 –log-format=W3C 方式沒用
它會說
Parsed 10 lines producing the following errors: Token 'xxxx' doesn't match specifier '%m' Token 'xxxx' doesn't match specifier '%m'
所以要額外 弄一個 script 來把格式換算成正確的 log format (參考 Easy IIS log file format specification for goaccess.)
ux_exyyddmm.log 裡面的 Fields 這行會有正確格式名稱,透過 script 換成 goaccess 可吃的格式
vi goiisformat.sh
#!/usr/bin/env sh while read line; do if [[ $line == \#Fields:* ]]; then line=${line/\#Fields: /} line=${line/date/%d} line=${line/time/%t} line=${line/s-sitename/%^} line=${line/s-computername/%^} line=${line/s-ip/%^} line=${line/cs-method/%m} line=${line/cs-uri-stem/%U} line=${line/cs-uri-query/%^} line=${line/s-port/%^} line=${line/cs-username/%^} line=${line/c-ip/%h} line=${line/cs-version/%H} line=${line/cs(User-Agent)/%u} line=${line/cs(Cookie)/%^} line=${line/cs(Referer)/%R} line=${line/cs-host/%^} line=${line/sc-status/%s} line=${line/sc-substatus/%^} line=${line/sc-win32-status/%^} line=${line/sc-bytes/%b} line=${line/cs-bytes/%^} line=${line/time-taken/%L} echo $line exit; fi done
再把它帶入 –log-format 就行了
goaccess u_ex180709.log --log-format "$(cat u_ex180709.log | sh goiisformat.sh)" --date-format '%Y-%m-%d' --time-format '%H:%M:%S' -o goaccess.html
留言