首页 > 系统相关 >goaccess分析nginx日志详解

goaccess分析nginx日志详解

时间:2024-06-15 21:55:03浏览次数:25  
标签:goaccess log format -- nginx time 日志 t%

goaccess version:1.9

安装方式:源文件 make make install 

执行环境:cli

完整access.log:

192.168.1.3:16423|240e:42c:1b30:111:b4c1:49ff:fe49:392c, 113.96.59.21    14/Jun/2024:00:01:15 +0800    HTTP/1.0    GET http://www.baidu.com/yl/ysj/dsj/folder1088/?imageView/0/w/890/h/675    |200|    53286    0.000    "https://www.baidu.com/yl/ysj/dsj/folder1088/"    "Mozilla/5.0 (Linux; Android 11; PEHT00 Build/RKQ1.201217.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/122.0.6261.120 Mobile Safari/537.36 XWEB/1220089 MMWEBSDK/20240404 MMWEBID/9553 MicroMessenger/8.0.49.2600(0x28003157) WeChat/arm64 Weixin NetType/4G Language/zh_CN ABI/arm64"    -    -    -

 

nginx的log配置:

'$remote_addr:$remote_port|$http_x_forwarded_for\t
$time_local\t
$server_protocol\t
$request_method $scheme://$host$request_uri\t
|$status|\t
$body_bytes_sent\t
$request_time\t
"$http_referer"\t
"$http_user_agent"\t
$upstream_addr\t
$upstream_response_time\t
$upstream_status';

完整cli语句:

goaccess /opt/access.log -p /root/goaccess.conf --log-format='%h:%p|~h{, }\t[%d:%t %^]\t%H\t%r\t|%s|\t%b\t%T\t"%R"\t"%u"\t%^' --date-format=%d/%b/%Y --time-format=%T -o report.html

难点:

1.针对 XFF, GoAccess 使用了一个特殊符号,即由一个波浪号+主机说明符构成,然后紧跟由大括号封装起来的 XFF 限定字段(例:~h{,"})

  ~h{," } 用于解析 "11.25.11.53, 17.68.33.17" 字段由一对双引号,一个逗号和一个空格限定。

2.nginx的log配置中如果使用了\t 则在cli语句中也需要使用

3.最好同时使用--date-format= --time-format=

问题:

UA可以用于定位访问者

1、本来想过滤出完整UA,实际只输出浏览器版本信息。

想要的输出

 "Mozilla/5.0 (Linux; Android 11; PEHT00 Build/RKQ1.201217.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/122.0.6261.120 Mobile Safari/537.36 XWEB/1220089 MMWEBSDK/20240404 MMWEBID/9553 MicroMessenger/8.0.49.2600(0x28003157) WeChat/arm64 Weixin NetType/4G Language/zh_CN ABI/arm64"

实际的输出:

 

标签:goaccess,log,format,--,nginx,time,日志,t%
From: https://www.cnblogs.com/reminderlog/p/18249806

相关文章

  • CLFS驱动程序(clfs.sys)是Windows操作系统中的一个组件,它提供了日志记录和恢复功能,以增
    clfs.sys是Windows操作系统中的一个系统文件,它是CLFS(CommonLogFileSystem)驱动程序的一部分。CLFS是Windows操作系统中用于管理日志文件的文件系统,它提供了日志记录和恢复功能。CLFS驱动程序(clfs.sys)具有以下功能和作用:日志记录:CLFS可以记录系统的操作、事件和错误等信息到......
  • ELK日志分析平台
    获取Web日志1.概述目标:数显Web日志实时分析如何收集日志? --通过网络收集日志: --beats插件概述:  2.修改Logstash配置使用logstash配置日志接收服务器 3.Filebeat安装配置在web-0001配置开机自起动 修改配置文件/etc/filebeat/filebeat.yml 启动服......
  • Linux下Nginx安装并开启SSL
    Linux下Nginx安装并开启SSL一.下载nginxNginxdownload下载后上传至服务器。PS:博主使用的Nginx版本为:nginx-1.23.4.tar.gz二.安装Nginx所需要的环境1.安装gcc-c++yuminstallgcc-c++yuminstall-yopensslopenssl-devel2.安装pcre包yuminstall-ypcrepcre......
  • nginx入门与实践
    当谈到NGINX的入门与实践时,理解基本概念并能够应用实际场景非常重要。NGINX是一个高性能的HTTP和反向代理服务器,也可用作负载均衡器和HTTP缓存。以下是一些入门级别的NGINX实践和代码示例,帮助你开始学习和使用它。1.安装和基本配置安装NGINX首先,你需要安装NGINX。具体安......
  • 生产环境Nginx服务器双机热备部署以及配置内网域名转发
    10.0.0.8和10.0.0.9部署nginx:第一步:上传安装包第二步:安装编译依赖(使用普通用户需要家sudo)yuminstallgccgcc-c++yuminstallzlibzlib-develyuminstallpcrepcre-develyuminstallopenssllibssl-dev第三步:解压,编译安装:解压命令:sudotar-zxvfnginx-1.24.0.tar.g......
  • ASP.NET Core之使用OpenTelemetry的日志管理
    一、前言当前软件架构演变由单体架构=>分布式架构(SOA)=>微服务架构(mircoservice)=>云原生架构(cloudnative),所以架构的演变导致对系统日志、监控、链路等统称为观测性方案提出巨大的挑战。在单体架构时代,借助丰富的日志库基本满足对日志管理,但是面对分布式、微服务的架构盛行,......
  • DreamJudge-1227-日志排序(精华)
    1.题目介绍TimeLimit:1000msMemoryLimit:256mb有一个网络日志,记录了网络中计算任务的执行情况,每个计算任务对应一条如下形式的日志记录:“hs_10000_p”是计算任务的名称,“2007-01-1719:22:53,315”是计算任务开始执行的时间“年-月-日时:分:秒,毫秒”,“253.035(s)”是......
  • 从零手写实现 nginx-23-nginx 对于 cookie 的操作
    前言大家好,我是老马。很高兴遇到你。我们为java开发者实现了java版本的nginxhttps://github.com/houbb/nginx4j如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicat手写nginx系列如果你对nginx原理感兴趣,可以阅读:从零......
  • Nginx+KeepAlived高可用负载均衡集群的部署
    目录一.KeepAlived补充知识1.一个合格的群集应该具备的特点2.健康检查(探针)常用的工作方式3.相关面试问题问题1问题2二.Keepealived脑裂现象1.现象2.原因硬件原因运用配置原因3.解决4.预防方法1方法2方法3方法4三.实验部署1.两台nginx做初始化操作并安装ngin......
  • Nginx代理设置 Host 和 X-Forward-For
    nginx配置代理请求,将包含/a前缀路径的请求,转发服务器https://test.com:8088,在server层级内配置转发规则,依然404找不到路由,增加一行设置Host后可以正常访问location/a{proxy_passhttps://test.com:8088;}location/a{proxy_pass......