第一篇:实时网络日志分析器和交互式查看器--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
第一篇:实时网络日志分析器和交互式查看器--GoAccess安装的更多相关文章
- Python之路PythonNet,第一篇,网络1
pythonnet 网络1 ARPAnet(互联网雏形)---> 民用 ISO(国际标准化组织)--->网络体系结构标准 OSI模型 OSI : 网络信息传输比较复杂需要很多功能协同 ...
- 【1w字+干货】第一篇,基础:让你的 Redis 不再只是安装吃灰到卸载(Linux环境)
Redis 基础以及进阶的两篇已经全部更新好了,为了字数限制以及阅读方便,分成两篇发布. 本篇主要内容为:NoSQL 引入 Redis ,以及在 Linux7 环境下的安装,配置,以及总结了非常详细的 ...
- (第一篇)linux简介与发展历史以及软件的安装
1.Linux操作系统基本结构介绍: 操作系统: 英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统 ...
- 可视化实时Web日志分析工具-goaccess
说到web服务器就不得不说Nginx,目前已成为企业建站的首选.但由于种种历史原因,Nginx日志分析工具相较于传统的apache.lighthttp等还是少很多. 今天就和大家分享一个非常强大的实时 ...
- Flex 布局教程:语法篇(转自阮一峰的网络日志)
作者:阮一峰(转自阮一峰的网络日志,如有侵权,立即删除) 网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 ...
- 入木三分学网络第一篇--VRRP协议详解第一篇(转)
因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...
- Windows系统CPU内存网络性能统计第一篇 内存
最近翻出以前做过的Windows系统性能统计程序,这个程序可以统计系统中的CPU使用情况,内存使用情况以及网络流量.现在将其整理一下(共有三篇),希望对大家有所帮助. 目录如下: 1.<Wind ...
- Storm 实时读取本地文件操作(模拟分析网络日志)
WebLogProduct 产生日志类 package top.wintp.weblog; import java.io.FileNotFoundException; import java.io.F ...
- 剖析Elasticsearch集群系列第一篇 Elasticsearch的存储模型和读写操作
剖析Elasticsearch集群系列涵盖了当今最流行的分布式搜索引擎Elasticsearch的底层架构和原型实例. 本文是这个系列的第一篇,在本文中,我们将讨论的Elasticsearch的底层存 ...
随机推荐
- 企业流程再造(BPR)--系统重构
企业流程再造(BPR) 企业流程:指生产或服务过程中一连串活动的工作流程 企业流程再造:对企业流程所进行的根本性的在思考和彻底的再设计,以使企业的速度,质量,服务和成本等关键业绩指标获得根本性的改善
- Leetcode刷题之链表中箭头转移和内容转移
链表中箭头转移和内容转移 链表中特别注意xxx.next=xxx 和xxx=xxx的区别 xxx.next=xxx表示将指针(箭头)转移 xxx=xxx表示将内容转移 Leetcode206翻转链表 ...
- HMS Core 分析服务 6.4.1版本上线啦,快来看看更新了哪些内容。
更新概览 支持转化事件回传至华为应用市场商业推广,便捷归因,实时调优. 卸载分析模型支持用户卸载前事件和路径分析,深度剖析卸载根因. 实时漏斗体验开放,灵活定位异常流失. 详情介绍 更新一:全面开放深 ...
- html元素contenteditable属性如何定位光标和设置光标
最近在山寨一款网页微信的产品,对于div用contenteditable属性做的编辑框有不少心得,希望可以帮到入坑的同学. 废话不多说了,我们先来理解一下HTML的光标对象是如何工作的,后面我会贴完整 ...
- safari浏览器fixed后,被软键盘遮盖的问题—【未解决】
safari浏览器fixed后,被软键盘遮盖的问题,已经有好多人问相关的问题,应该是问的角度不一样,还的再次提出咯. 问题描述 测试环境:ios 10.2/10.3 简单来说就是在html5页面中底部 ...
- Vue3生命周期的理解
beforeCreate():在实例生成之前 created():在实例生成之后 beforeMount():在模板已经被编译成函数之后,组件内容被渲染到页面之前 mounted():在组件内容被渲染 ...
- C# 将Excel转为PDF时设置内容适应页面宽度
将Excel转为PDF格式时,通常情况下转换出来的PDF页面都是默认的宽度大小:如果Excel表格数据的设计或布局比较宽或者数据内较少的情况,转出来的PDF要么会将原本的一个表格分割显示在两个页面,或 ...
- 【Android开发】监听图库数据库的变化
步骤一: 保存图片或者删除之前,初始化ContentObserver ScreenshotContentObserver mScreenObserver = new ScreenshotContent ...
- 一. 为什么要用SpringMVC框架
以前是怎么做项目的.CoreServlet,起到一个中心处理器作用.所有的请求到服务器,服务器给CoreServlet,在里面处理所有表的增删改查,跳转也在里面做.以前做部门就是 DepServlet ...
- 自己写一个简单的LinkedList
单链表 推荐阅读:https://www.cnblogs.com/zwtblog/tag/源码/ 哨兵节点: 哨兵节点在树和链表中被广泛用作伪头.伪尾等,通常不保存任何数据. 我们将使用伪头来简化我们 ...