golang 日志分析_轻量级日志分析工具 GoAccess

GoAccess是一款轻量级的日志分析工具,可以在服务器终端中显示实时分析日志,也可以导出为 html 通过浏览器进行查看。

安装使用

可以进行编译安装,

$ wget https://tar.goaccess.io/goaccess-1.3.tar.gz

$ tar -xzvf goaccess-1.3.tar.gz

$ cd goaccess-1.3/

$ ./configure --enable-utf8 --enable-geoip=legacy

$ make

# make install

1

2

3

4

5

6

$wgethttps://tar.goaccess.io/goaccess-1.3.tar.gz

$tar-xzvfgoaccess-1.3.tar.gz

$cdgoaccess-1.3/

$./configure--enable-utf8--enable-geoip=legacy

$make

# make install

也可以通过Linux包管理工具进行安装,如

yum install goaccess

apt-get install goaccess

1

2

yuminstallgoaccess

apt-getinstallgoaccess

使用也非常简单,首先根据日志格式对配置文件进行设置,Nginx 或 Apache 日志默认的配置为:

# vi /etc/goaccess.conf

time-format %H:%M:%S

date-format %d/%b/%Y

log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

1

2

3

4

# vi /etc/goaccess.conf

time-format%H:%M:%S

date-format%d/%b/%Y

log-format%h%^[%d:%t%^]"%r"%s%b"%R""%u"

查看日志

goaccess -f access.log -c # 命令行

goaccess -f access.log -a -o report.html # 生成 html

# 实时生成 html

goaccess access.log -o /var/www/html/report.html --log-format=COMBINED --real-time-html

1

2

3

4

goaccess-faccess.log-c# 命令行

goaccess-faccess.log-a-oreport.html# 生成 html

# 实时生成 html

goaccessaccess.log-o/var/www/html/report.html--log-format=COMBINED--real-time-html

命令行参数

日志及时间格式选项

–date-format= – 指定日志日期格式,如 %d/%b/%Y

–log-format= – 指定日志格式,内部的双引号需要进行转义,或使用单引号

–time-format= – 指定日志时间格式,如%H:%M:%S

用户界面选项

-c –config-dialog – 弹出log/date/time配置窗口。

-i –hl-header – 颜色高亮活跃面板。

-m –with-mouse – 启用对主仪表盘的鼠标支持。

–color= – 指定自定义颜色。参见 manpage获取更多详情及选项。

–color-scheme=<1|2|3> – 方案: 1 => Grey, 2 => Green, 3 => Monokai.

–html-custom-css= – 指定在HTML报表中的自定义CSS文件。

–html-custom-js= – 指定在HTML报表中的自定义JS文件。

–html-prefs= – 设置HTML报表的首选项。

–html-report-title=

– 设置HTML报表页面的标题和头部。

–json-pretty-print – 通过制表符和新行格式化 JSON 输出。

–max-items – 每个面板中显示的最大项目数。参见man page了解限制。

–no-color – 禁用彩色输出。

–no-column-names – 不要在名称输出中写入列名。

–no-csv-summary – 在CSV 输出中禁用汇总指标。

–no-progress – 禁用进度指标。

–no-tab-scroll – 禁用通过TAB滚动面板。

–no-html-last-updated – 隐藏HTML中最后更新的字段。

服务端选项

–addr= – 指定服务器所绑定的 IP。

–daemonize – 以守护进程运行(若启用了–real-time-html)。

–fifo-in= – 读取命名管道(FIFO)的路径。

–fifo-out= – 写入命名管道(FIFO)的路径。

–origin= – 确保在WebSocket握手时客户端发送指定的源origin头部。

–port= – 指定要使用的端口。

–real-time-html – 启用实时HTML输出。

–ssl-cert= – TLS/SSL证书的路径。

–ssl-key= – TLS/SSL私钥的路径。

–ws-url= – WebSocket服务端所响应的URL。

文件选项

– – 通过stdin(标准输入)读取解析的日志文件。

-f –log-file= – 输入日志文件的路径。

-l –debug-file= – 发送对指定文件的所有调试消息。

-p –config-file= – 自定义配置文件。

–invalid-requests= – 记录对指定文件的无效请求。

–no-global-config – .不加载全局配置文件。

解析选项

-a –agent-list – 根据主机启用user-agent列表。

-d –with-output-resolver – 对HTML|JSON输出启用IP解析器。

-e –exclude-ip= – 排除一个或多个IPv4/6。允许使用IP范围,如192.168.0.1-192.168.0.10

-H –http-protocol= – 在找到时设置/取消设置HTTP请求协议。

-M –http-method= – 在找到时设置/取消设置HTTP请求方法。

-o –output=file.html|json|csv – 输出HTML, JSON或CSV文件。

-q –no-query-string – 忽略请求的查询字符串。删除查询字符串会显著地降低内存的消耗。

-r –no-term-resolver – 对终端输出禁用IP解析器。

–444-as-404 – 将非标准状态码444 视为 404。

–4xx-to-unique-count – 对独立访客计数添加4xx客户端错误。

–all-static-files – 包含带有查询字符串的静态文件。

–crawlers-only – 仅解析并显示爬虫。

–date-spec= – 日期规格。可用的值: date(默认)或 hr。

–double-decode – 解码双重编码的值。

–enable-panel= – 启用解析/显示给定的面板。

–hour-spec=


– 小时规格。可用的值:hr(默认)或 min (分钟的十分之一)。

–ignore-crawlers – 忽略爬虫。

–ignore-panel= – 忽略解析/显示给定面板。

–ignore-referer= – 忽略对referer(上一页)的计算。允许使用通配符,如*.bing.com

–ignore-status= – 忽略解析给定状态码。

–num-tests= – 要测试的行数。>= 0 (默认为10)

–process-and-exit – 解析日志并不输出数据退出。

–real-os – 显示真实的操作系统名称,如Windows XP, Snow Leopard。

–sort-panel=PANEL,METRIC,ORDER – 在初始加载时对面板排序。如–sort-panel=VISITORS,BY_HITS,ASC。参风manpage获取面板/字段列表。

–static-file= – 添加静态文件扩展名,如:.mp3。扩展名是大小写敏感的。

磁盘内数据库选项

–keep-db-files – 将解析数据持久化存储到磁盘中。

–load-from-disk – 从磁盘中加载此前存储的数据。

–db-path= – 数据文件的路径,默认为 [/tmp/]

–cache-lcnum= – 要缓存的叶子节点的最大数量,默认值[0]

–cache-ncnum= – 要缓存非叶子节点的最大数,默认值为[1024]

–tune-bnum= – 桶数组的元素数。默认为[512]

–tune-lmemb= – 每个叶子页面的成员数,默认为[128]

–tune-nmemb= – 每个非叶子页面的成员数, 默认为[256]

–xmmap= – 设置额外映射内存的字节大小,默认为[32749]

–compression= – 指定每个页面通过ZLIB|BZ2 编码进行压缩。

其它选项

-h –help – 本帮助文档。

-V –version – 显示版本信息并退出。

-s –storage – 显示当前存储方法,如 B+ 树, Hash。

–dcf – 在未使用-p 时显示默认配置文件的路径。

相关资料

官方网站:https://goaccess.io/get-started

GitHub:https://github.com/allinurl/goaccess

将 Nginx 日志格式转换为 GoAccess 的脚本:https://github.com/stockrt/nginx2goaccess

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值