第一篇:实时网络日志分析器和交互式查看器--GoAccess安装

Posted Lin-Grocery

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一篇:实时网络日志分析器和交互式查看器--GoAccess安装相关的知识,希望对你有一定的参考价值。

介绍

GoAccess是一个开源的实时网络日志分析器交互式查看器,可以在* nix 系统或通过浏览器的终端中运行。
它为需要动态可视化服务器报告的系统管理员提供快速且有价值的HTTP统计信息。

特征

GoAccess的一些功能
1.实时输出
2.允许任何自定义日志格式字符串
3.跟踪应用响应时间
4.只有一个依赖,GoAccess是用C语言编写的。要运行它,你只需要将ncurses作为依赖项。
5.增量日志处理

  1. 需要最少的配置
    7.可以将日志分析输出成多种格式.HTML,JSON.CSV
  2. 需要最少的配置

由于服务器用的web环境是nginx,所以下面的配置文件日志格式是参照nginx进行的。goaccess能支持的日志格式很多。

安装

1.下载安装包

# wget http://tar.goaccess.io/goaccess-1.0.2.tar.gz

2.安装依赖包

# yum -y install ncurses-devel geoip-devel

3.编译安装

# ./configure --prefix=/usr/local/goaccess --enable-geoip=legacy --enable-utf8 --with-openssl
# make && make install

在进行config的时候,可以使用./configure --help

修改goaccess配置文件的日志格式

根据nginx的配置文件设置goaccess的配置文件里面的 time-format date-format log-format
由于我的nginx配置文件里面的log-format的配置是:

log_format  main  '$request_time $upstream_response_time $remote_addr [$time_local]  
          "$request_method $scheme://$host$request_uri $server_protocol"  
           $status  $body_bytes_sent  "$http_referer"  "$upstream_addr"   
          "$upstream_cache_status"   "$http_user_agent"  "$http_x_forwarded_for"'

所以对应goaccess里面的配置文件日志格式就需要修改,建议自己创建一个.goacessrc,里面设置日期 时间 日志的格式配置文件格式,方便之后的固定导出

# vim /usr/local/goaccess/.goacessrc 
    time-format %H:%M:%S
    date-time %d%b%Y
    log-format %T %^ %h [%d:%t %^] "%m %^://%^%U %H" %s %b "%R" "%^" "%^" "%^" "%^"

简单介绍一下对应的关系

    %T              $request_time       (请求时间)
    %h              $remote_addr        (客户端地址)
    %d:%t %^        [$time_local]       (时间日期)
    %m              $request_method     (请求方法)
    %U              $request_uri        (请求路径)
    %H              $server_protocol    (服务器请求协议)
    %s              $status             (状态码)
    %b              $body_bytes_sent    (字节数)
    "%R"            "$http_referer"     ("referer" Http请求标头)
    %^              (当在统计信息里不需要这个参数时,可以使用忽略此参数)
    

使用命令,将分析结果以html输出

# goaccess -f /usr/local/nginx/logs/access.log -p /usr/local/goaccess/.goacessrc    -a -o report.html

goaccess的web网页页面截图

技术图片

注意事项

使用goaccess导出分析日志,最重要的就是配置文件里面的文件格式参数,当与nginx的日志格式不匹配的时候就会出现下面的错误

    GoAccess - version 1.0.2 - Nov 13 2018 10:30:13
    Config file: /usr/local/goaccess/etc/goaccess.conf
    
    Fatal error has occurred
    Error occured at: src/parser.c - parse_log - 2322
    No log format was found on your conf file.  

参考

具体的对应配置以及goaccess的其他功能和命令可参考下面链接

https://goaccess.io/man#custom-log
https://blog.csdn.net/lgq421033770/article/details/51512986

以上是关于第一篇:实时网络日志分析器和交互式查看器--GoAccess安装的主要内容,如果未能解决你的问题,请参考以下文章

GoAccess日志分析工具

Linux下GoAccess的安装与全部用法

PowerBI入门 第一篇:创建第一个PowerBI报表

区块链-前端交互第一篇:使用python交互以太测试网(奔向JS)

利用GoAccess实时分析web服务日志

用Kibana和logstash快速搭建实时日志查询收集与分析系统