GoAccess 是一个基于终端的实时 Web 日志分析仪。用 C 语言编写,它是快速,互动的,并以优雅而直观的方式显示日志。它提供了各种 Web 日志文件的支持,包括 Apache,Nginx,Caddy,Amazon S3 和 CloudFront,仅提及几个。它可以以 HTML 格式,JSON 渲染结果,还可以生成 CSV 报告。
1. 目录准备
mkdir -p /usr/local/goaccess/data
mkdir -p /usr/local/goaccess/html
2. 启动nginx
server {
listen 71;
server_name dev.lettin.cn 114.55.42.227;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
docker run -d --net=host --name=nginx -v /usr/local/goaccess/html:/usr/share/nginx/html --restart=always nginx
找到日志nginx文件
我使用的docker方式运行nginx,所用是前台启动,nginx输出在控制台,需要找到docker 容器的日志文件(nginx为容器名):
docker inspect --format='{
{.LogPath}}' nginx
注意:每次docker run都会生成新的容器,日志文件路径会改变
3. 安装GoAccess(docker版)
goaccess.conf配置准备
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^ %^ [%d:%t %^] "%r" %^ %s %b "%R" "%u" "%^" "%T"
time-format %H:%M:%S
date-format %d/%b/%Y
log-format {
"log":"%h %^[%d:%t %^] \""%m %U %H %s %b "%R" "%u"}