博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用goaccess解析nginx日志
阅读量:6801 次
发布时间:2019-06-26

本文共 1178 字,大约阅读时间需要 3 分钟。

  hot3.png

由于我指定了安装路径为/usr/local/goaccess

因此运行主程序在该路径的bin目录下,配置文件在etc下

 

使用方法:

直接解析

在nginx日志目录下运行

/usr/local/goaccess/bin/goaccess -f access.log

 

或是输出html文件

/usr/local/goaccess/bin/goaccess -f access.log -a > test.html

 

然而实际使用过程中一直报错:

Fatal error has occurred

Error occured at: src/goaccess.c - main - 1230
Nothing valid to process. Verify your date/time/log format.

 

原因是所使用的nginx的日志经过定制,并不是常用的日志格式,因此需要根据nginx日志格式修改goaccess的日志解析配置。

这是nginx中当前所使用的日志配置:

[$time_local] - $server_name - $remote_addr - $upstream_addr - $remote_user - "$request" $status $upstream_status $body_bytes_sent "$http_referer" "$http_user_agent" $upstream_response_time $request_time

据此修改goaccess配置文件/usr/local/goaccess/etc/goaccess.conf

添加日志配置:

date-format %d/%b/%Y

time-format %H:%M:%S
log-format [%d:%t %^] %^ %v %^ %h %^ %^ %^ %^ %^ "%r" %s %^ %b "%R" "%u" %T %^

说明:

date-format日期格式中,%d为天、%b为月份缩写、%Y为年

time-format时间格式中,%H、%M、%S分别为时、分、秒

log-format日志格式中,%d为引用日期格式配置、%t为引用日期格式配置、%^为忽略该项、%v为服务器名、%h为远端ip地址、%r为实际请求、%s为请求返回状态、%b为请求大小、%R为http referer头 、%u为http用户代理、%T为响应时间

 

要注意以下几点:

1、log-format中必须要有 %d、%h、%r

2、格式要一一对应

3、不能有重复的项

 

附goaccess在线手册:

https://goaccess.io/man#custom-log

 

转载于:https://my.oschina.net/erichd/blog/731887

你可能感兴趣的文章
2008R2 组策略的应用
查看>>
enum
查看>>
java自增的陷井
查看>>
Apache2.4版本环境下基于虚拟主机、ssl、用户控制
查看>>
要卖的四本书的封面
查看>>
Linux下puppet安装
查看>>
python笔记--集合
查看>>
系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
查看>>
区别Ruby的require,load,和include
查看>>
VMware view连接vCenter提示证书错误,无法连接vCenter服务器
查看>>
http协议
查看>>
cobbler快速部署
查看>>
医药吧手机版的发布
查看>>
threading
查看>>
Excel中始终保持标题行可见
查看>>
MySQL5解压缩版windows下安装配置应用总结
查看>>
VMware View环境的搭建--VMware View4.5架构介绍
查看>>
直接插入排序
查看>>
浅谈Java接口
查看>>
openstack issue 5
查看>>