nginx
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'"$upstream_addr" "$http_host" "$ssl_protocol"';
log file:
192.168.65.48 - - 0.011 [11/Jun/2026:00:00:12 +0800] "POST /Common/Post HTTP/1.1" 200 107 "https://web.test.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36" "192.168.23.86" "192.168.65.34:9999" "web.test.com" "TLSv1.3"
cfg:
log-format %h %^ %^ %T [%d:%t %^] "%r" %s %b "%R" "%u" "~h" "%^" "%^" "%^"
date-format %d/%b/%Y
time-format %H:%M:%S
error:
Token for '%h' specifier is NULL.
docker-compose.yml
services:
goaccess:
image: allinurl/goaccess:1.10.2
container_name: goaccess
ports:
- "7890:7890"
environment:
- TZ=Asia/Shanghai
- LANG=zh_CN.UTF-8
- LC_TIME=en_US.UTF-8
volumes:
- ./GeoLite2-City.mmdb:/GeoLite2-City.mmdb:ro
- ./conf:/srv/conf
- /opt/dockerfile/goaccess/logs:/var/log/nginx
- ./report:/srv/report
- /etc/localtime:/etc/localtime:ro
command: "/usr/bin/goaccess --config-file=/srv/conf/goaccess.conf --output=/srv/report/index.html -o html --real-time-html"
stop_grace_period: 90s
restart: unless-stopped
nginx
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'"$upstream_addr" "$http_host" "$ssl_protocol"';
log file:
192.168.65.48 - - 0.011 [11/Jun/2026:00:00:12 +0800] "POST /Common/Post HTTP/1.1" 200 107 "https://web.test.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36" "192.168.23.86" "192.168.65.34:9999" "web.test.com" "TLSv1.3"
cfg:
log-format %h %^ %^ %T [%d:%t %^] "%r" %s %b "%R" "%u" "~h" "%^" "%^" "%^"
date-format %d/%b/%Y
time-format %H:%M:%S
error:
Token for '%h' specifier is NULL.
docker-compose.yml
services:
goaccess:
image: allinurl/goaccess:1.10.2
container_name: goaccess
ports:
- "7890:7890"
environment:
- TZ=Asia/Shanghai
- LANG=zh_CN.UTF-8
- LC_TIME=en_US.UTF-8
volumes:
- ./GeoLite2-City.mmdb:/GeoLite2-City.mmdb:ro
- ./conf:/srv/conf
- /opt/dockerfile/goaccess/logs:/var/log/nginx
- ./report:/srv/report
- /etc/localtime:/etc/localtime:ro
command: "/usr/bin/goaccess --config-file=/srv/conf/goaccess.conf --output=/srv/report/index.html -o html --real-time-html"
stop_grace_period: 90s
restart: unless-stopped