zoukankan      html  css  js  c++  java
  • 第一篇:实时网络日志分析器和交互式查看器--GoAccess安装

    介绍

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

    特征

    GoAccess的一些功能
    1.实时输出
    2.允许任何自定义日志格式字符串
    3.跟踪应用响应时间
    4.只有一个依赖,GoAccess是用C语言编写的。要运行它,你只需要将ncurses作为依赖项。
    5.增量日志处理
    6. 需要最少的配置
    7.可以将日志分析输出成多种格式.HTML,JSON.CSV
    8. 需要最少的配置

    由于服务器用的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

  • 相关阅读:
    JavaScript监听、设置全部ajax访问属性获取返回值(状态码)
    如何在Vue项目中使用vw实现移动端适配
    git 常用命令金字教程
    移动web开发之像素和DPR详解
    小程序-微信开发者工具使用
    小程序开发框架:Taro(一)基础篇
    vscode代码自动补全失效
    JS、C#编码解码
    PHP网页缓存技术
    ajaxfileupload回到json带<pre>
  • 原文地址:https://www.cnblogs.com/moniter/p/12305111.html
Copyright © 2011-2022 走看看