介绍

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

第一篇:实时网络日志分析器和交互式查看器--GoAccess安装的更多相关文章

  1. Python之路PythonNet,第一篇,网络1

    pythonnet   网络1 ARPAnet(互联网雏形)--->  民用 ISO(国际标准化组织)--->网络体系结构标准 OSI模型 OSI : 网络信息传输比较复杂需要很多功能协同 ...

  2. 【1w字+干货】第一篇,基础:让你的 Redis 不再只是安装吃灰到卸载(Linux环境)

    Redis 基础以及进阶的两篇已经全部更新好了,为了字数限制以及阅读方便,分成两篇发布. 本篇主要内容为:NoSQL 引入 Redis ,以及在 Linux7 环境下的安装,配置,以及总结了非常详细的 ...

  3. (第一篇)linux简介与发展历史以及软件的安装

    1.Linux操作系统基本结构介绍: 操作系统: 英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统 ...

  4. 可视化实时Web日志分析工具-goaccess

    说到web服务器就不得不说Nginx,目前已成为企业建站的首选.但由于种种历史原因,Nginx日志分析工具相较于传统的apache.lighthttp等还是少很多. 今天就和大家分享一个非常强大的实时 ...

  5. Flex 布局教程:语法篇(转自阮一峰的网络日志)

    作者:阮一峰(转自阮一峰的网络日志,如有侵权,立即删除) 网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 ...

  6. 入木三分学网络第一篇--VRRP协议详解第一篇(转)

    因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...

  7. Windows系统CPU内存网络性能统计第一篇 内存

    最近翻出以前做过的Windows系统性能统计程序,这个程序可以统计系统中的CPU使用情况,内存使用情况以及网络流量.现在将其整理一下(共有三篇),希望对大家有所帮助. 目录如下: 1.<Wind ...

  8. Storm 实时读取本地文件操作(模拟分析网络日志)

    WebLogProduct 产生日志类 package top.wintp.weblog; import java.io.FileNotFoundException; import java.io.F ...

  9. 剖析Elasticsearch集群系列第一篇 Elasticsearch的存储模型和读写操作

    剖析Elasticsearch集群系列涵盖了当今最流行的分布式搜索引擎Elasticsearch的底层架构和原型实例. 本文是这个系列的第一篇,在本文中,我们将讨论的Elasticsearch的底层存 ...

随机推荐

  1. Python中的numpy库介绍!

    转自:https://blog.csdn.net/codedz/article/details/82869370 机器学习算法中大部分都是调用Numpy库来完成基础数值计算的.安装方法: pip3 i ...

  2. .NET面试题整理

    .NET..NET Framework..NET Core和C#的解释各是什么? ASP.NET MVC和ASP.NET Web API的区别是什么? C#中的委托是什么?事件是不是一种委托? 简述P ...

  3. python-爬楼梯

    [题目描述] 假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法. [练习要求]请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释. [ ...

  4. 体温登记app开发流程

    关于体温app,比较难的是获取定位信息,剩下的就是增删改查. 设计思路:首先布局一个添加页面,给每个元件添加id,之后在获取地点的EditText获取位置信息,在添加两个布局文件,体现在一个页面里用来 ...

  5. js知识梳理3:创建对象的模式探究

    写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...

  6. linux下elf二进制文件怎么回事(ls,vmstat等命令)

    这个实验有两个目的: 1.linux的可执行命令例如:ls .cd等都是二进制elf格式文件等,后面的逻辑是什么,我们怎么窥探底层内容. 2.ELF可执行文件默认从地址0x080480000开始分配 ...

  7. Intel主板芯片组

    写这个的初衷还是由于linux内核本身就是硬件的抽象,如果你对硬件的相关发展,机制以及架构不了解,实际你也是看不懂linux内核代码以及看不懂linux很多命令输出的结果的,如果你看内核代码就会发现内 ...

  8. VisualStudio安装步骤

    1.下载vs2017,点击安装 2.选择asp.net选项进行安装,如果需要其他的功能,可以选上 3.更改安装路径,尽量把文件安装在c盘以外的盘上,因为c盘是系统盘,安装的东西越多电脑会越卡.注意:不 ...

  9. Python 一网打尽<排序算法>之从希尔排序算法的分治哲学开始

    1. 前言 本文将介绍希尔排序.归并排序.基数排序(桶排序).堆排序. 在所有的排序算法中,冒泡.插入.选择属于相类似的排序算法,这类算法的共同点:通过不停地比较,再使用交换逻辑重新确定数据的位置. ...

  10. Persistent Bits - 题解【二进制】

    题面: WhatNext Software creates sequence generators that they hope will produce fairly random sequence ...