Press "Enter" to skip to content

日志分析工具GoAccess安装使用

主机环境:
[root@test01 ~]# uname -a
Linux test01 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@test01 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

安装:
安装epel:
[root@test01 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
[root@test01 ~]# rpm -ivh epel-release-7-11.noarch.rpm
安装goaccess:
[root@test01 ~]# yum install goaccess -y
[root@test01 ~]# goaccess -V
GoAccess - 1.2.
For more details visit: http://goaccess.io
Copyright (C) 2009-2016 by Gerardo Orellana //说明安装成功
常用的参数说明如下:

-f –log-file=<logfile>

指定输入日志文件的路径。如果在配置文件中指定了输入文件,则其优先级要高于在命令行中通过 -f 参数指定。

-l –log-debug=<filename>

发送所有调试信息到指定文件。需要指定配置选项 --enable-debug

-p –config-file=<configfile>

指定使用自定义配置文件。如果设置了此参数,其优先级将高于全局配置文件(如果有)。

–invalid-requests=<filename>

记录无效请求到指定文件。

–no-global-config

禁止加载全局配置文件。可能的目录应该是 /usr/etc/, /etc/ 或者 /usr/local/etc/, 除非在运行 ./configure 时指定了 --sysconfdir=/dir 。

-a –agent-list

开启 UserAgent 列表。开启后会降低解析速度。

-d –with-output-resolver

输出 HTML 或者 JSON 报告时开启 IP 解析。

-e –exclude-ip <IP|IP-range>

排除一个 IPv4 或者 IPv6 地址。 使用连接符表示 IP 段(开始-结束)。

-H –http-protocol=<yes|no>

HTTP 请求协议开关。将创建一个请求字段包含请求协议+真实请求。

-M –http-method=<yes|no>

HTTP 请求方法开关。将创建一个请求字段包含请求方法+真实请求。

-o –output=<json|csv>

将给定文件重定向到标准输出,通过后缀名决定输出格式:

-q –no-query-string

忽略请求的查询字符串。即: www.google.com/page.htm?query => www.google.com/page.htm
注意: 去掉查询字符串将极大降低内存消耗,特别对带时间戳的请求。

-r –no-term-resolver

在终端输出时禁止 IP 解析。

–444-as-404

将非标准状态 444 作为 404 处理。

–4xx-to-unique-count

将 4xx 客户端错误数加到独立访客数中。

–all-static-files

统计包含查询字符串的静态文件。

–date-spec=<date|hr>

设置日期的显示格式,一种是标准日期格式(默认),一种是日期后附加小时的格式。
仅在访客面板有效。对于在小时级别分析访客数据很有帮助。显示格式示例:18/Dec/2010:19

–double-decode

解码双重编码的值。包括 UserAgent,Request 以及 Referer。

–enable-panel=<PANEL>

开启指定面板。面板列表:

–hour-spec=<hour|min>

设定时间的显示格式,一种是标准时间格式(默认),一种是时间后附加分钟数(每十分钟)的格式。
用于时间分布面板。对于在特定时间段分析流量峰值很有用处。

–ignore-crawlers

忽略爬虫。

–ignore-panel=<PANEL>

忽略指定面板。面板列表:

–ignore-referer=<referer>

忽略被统计的来路。支持通配符。例如: *.domain.com ww?.domain.*

–ignore-status=<STATUS>

忽略解析或者显示一个或者多个状态码。如果有多个状态码,使用此参数每次指定一个。

–num-tests=<number>

设定测试行数,即使用给定的 日志/日期/时间 格式测试访问日志。默认值为 10 行。如果设置为 0 ,解析器不会做任何测试而是直接解析整个文件。如果在达到 number 之前,有一行匹配上了给定的 日志/日期/时间 格式,则解析器会认为日志文件是有效的,否则 GoAccess 会返回 EXIT_FAILURE 并显示相关的错误信息。

–process-and-exit

解析日志,且退出时不输出数据。主要用于仅希望往磁盘数据库中添加数据而无需输出报告时使用。

–real-os

显示真实的操作系统名称。例如: Windows XP, Snow Leopard.

–sort-panel=<PANEL,FIELD,ORDER>

S在初始化载入是对面板进行排序。排序选项使用逗号分隔。选项使用这样的格式:PANEL,METRIC,ORDER

–static-file <extension>

添加静态文件后缀名。例如:.mp3。 后缀名区分大小写。

-g –std-geoip

标准 GeoIP 数据库,低内存占用。

–geoip-database <geocityfile>

设定 GeoIP 数据库路径。例如:GeoLiteCity.dat。需要从 maxmind.com 上下载到本地。IPv4 和 IPv6 均可用支持。注意:--geoip-city-data 是 --geoip-database 的别名。
注意: 如果使用 GeoIP2,您需要从 MaxMind 下载 城市/国家 数据库,并通过 --geoip-database 设定。

具体事例:
1、在终端在分析日志:
[root@test01 ~]# goaccess -d -f /var/log/nginx/access.log --log-format=COMBINED
操作热键如下:

F1 或 h主帮助页面。

F5重绘主窗口。

q退出程序,当前窗口或者崩溃了的模块。

o 或 ENTER扩展选中的模块或打开窗口。

0-9 和 Shift + 0激活选中的模块。

j在已扩展模块中向下滚动。

k在已扩展模块中向上滚动。

c设置或者改变配色方案。

^ f在当前模块中向前滚动一屏。

^ b在当前模块中向后滚动一屏。

TAB切换模块(向前)。

SHIFT + TAB切换模块(向后)。

s给活跃模块的选项排序。

/在所有模块中搜索(支持正则)。

n找到下次发生事件的位置。

g移动到第一个选项或者屏幕顶部。

G移动到第最后一个选项或者屏幕底部。

对应几个数字对应模块如下:

按 1 定位到“按天访问量”

按 2 定位到“最多次被请求的 URL”

按 3 定位到“最多次被请求的静态文件”

按 4 定位到“最多次被请求的 404”

按 5 定位到“最多次请求的用户 IP”

按 6 定位到“用户的操作系统”

按 7 定位到“用户的浏览器”

按 8 定位到“按小时的统计”

2、生成一份HTML报告:
[root@test01 ~]# goaccess /var/log/nginx/access.log -a -o report.html --log-format=COMBINED
3、生成一份JSON报告:
[root@test01 ~]# goaccess /var/log/nginx/access.log -a -d -o report.json --log-format=COMBINED
4、生成一份CSV报告:
[root@test01 ~]# goaccess /var/log/nginx/access.log --no-csv-summary -o report.csv --log-format=COMBINED

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注