网站首页 > 博客文章 正文
一、GoAccess基本概述
GoAccess 是一款用于Apache或者Nginx的命令行日志分析器和交互式查看器。使用这款工具,你不仅可以浏览到之前提及的相关数据,还可以通过分析网站服务器日志来进一步挖掘数据。这一切都是在一个终端窗口实时输出并且可以输出在web端可视化的显示信息。
二、GoAccess主要功能
1.统计概况,流量消耗等
2.访客排名
3.动态Web请求
4.静态web请求,如图片、样式表、脚本等。
5.来路域名
6.404 错误
7.操作系统
8.浏览器和搜索引擎
9.主机、DNS和ip地址
10.HTTP 响应代码
11.引荐网站
12.键盘布局
13.自定义显示
14.支持超大日志(分析速度很快)
三、GoAccess用法介绍
GoAccess的基本语法如下
goaccess [ -b ][ -s ][ -e IP_ADDRESS][ - a ] <-f log_file >
参数说明:
-f – 日志文件名
-b – 开启流量统计,如果希望加快分析速度不建议使用该参数
-s – 开启HTTP响应代码统计
-a – 开启用户代理统计
-e – 开启指定IP地址统计,默认禁用
-p -指定goacces用户配置文件路径
安装GoAccess
[root@web01 ~]# wget http://tar.goaccess.io/goaccess-1.2.tar.gz
[root@web01 ~]# tar -xzvf goaccess-1.2.tar.gz
[root@web01 ~]# cd goaccess-1.2/
[root@web01 ~]# ./configure --enable-utf8 --enable-geoip=legacy
configure: error:
*** Missing development files for the GeoIP library
[root@web01 ~]# yum install libncursesw5-dev #缺少的依赖包
[root@web01 ~]# yum install ncurses-devel #缺少的依赖包
[root@web01 ~]# yum install GeoIP GeoIP-devel GeoIP-data #缺少的依赖包
[root@web01 ~]# ./configure --enable-utf8 --enable-geoip=legacy
[root@web01 ~]# make & make install
配置
1.安装完成后,默认将配置文件goaccess.conf放置于/usr/local/etc路径,为了统一管理,使用mv /usr/local/etc/goaccess.conf /etc/命令将其移动到/etc目录下。
2.对配置文件做一些主要配置:
[root@web01 log]# cd /var/log
[root@web01 log]# goacess -f /var/log/nginx/access.log
[root@web01 log]# which goaccess
/usr/local/bin/goaccess
[root@web01 log]# vim /usr/local/etc/goaccess.conf
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
其中,log-format 与 access.log 的 log_format 格式对应,每个参数以空格或者制表符分割。参数说明如下:
%t 匹配time-format格式的时间字段
%d 匹配date-format格式的日期字段
%h host(客户端ip地址,包括ipv4和ipv6)
%r 来自客户端的请求行
%m 请求的方法
%U URL路径 %H 请求协议
%s 服务器响应的状态码
%b 服务器返回的内容大小
%R HTTP请求头的referer字段
%u 用户代理的HTTP请求报头
%D 请求所花费的时间,单位微秒
%T 请求所花费的时间,单位秒
%^ 忽略这一字段
命令
查看 GoAccess 命令参数,如下:
$ goaccess -h
# 常用参数
-a --agent-list 启用由主机用户代理的列表。为了更快的解析,不启用该项
-d --with-output-resolver 在HTML/JSON输出中开启IP解析,会使用GeoIP来进行IP解析
-f --log-file 需要分析的日志文件路径
-p --config-file 配置文件路径
-o --output 输出格式,支持html、json、csv
-m --with-mouse 控制面板支持鼠标点击
-q --no-query-string 忽略请求的参数部分
--real-time-html 实时生成HTML报告
--daemonize 守护进程模式,--real-time-html时使用
控制台模式
1.当前日志分析结果
[root@web01 log]# goaccess -f /var/log/nginx/access.log -p /usr/local/etc/goaccess.conf
控制台下的操作方法:
F1 主帮助页面
F5 重绘主窗口
q 退出
1-15 跳转到对应编号的模块位置
o 打开当前模块的详细视图
j 当前模块向下滚动
k 当前模块向上滚动
s 对模块排序
/ 在所有模块中搜索匹配
n 查找下一个出现的位置
g 移动到第一个模块顶部
G 移动到最后一个模块底部
使用命令指定配置,将生成的信息保存为html
#1.测试是否能通过终端直接展示
[root@web01 log]# goaccess -f /var/log/nginx/access.log -p /usr/local/etc/goaccess.conf
#2.将分析结果保存为HTML
[root@web01 log]# goaccess /var/log/nginx/access.log -o /code/log/index.html -p /usr/local/etc/goaccess.conf
#3.将其写入脚本
#由于对日志实时性要求不是非常高,于是写个小脚本,配置crontab,让其每隔一段时间转换一次,也可以实现伪实时性观察log,如下:
[root@web01 log]# vim scripts/goaccess.sh
#!/bin/bash
LANG="zh_CN.UTF-8" #页面转换为中文
/usr/local/bin/goaccess /var/log/nginx/access.log -o /code/log/index.html -p /usr/local/etc/goaccess.conf
#4.然后再将脚本加入到crontab即可
[root@web01 ~]# crontab -l
#定时goaccess生成的信息保存为html
30 * * * * /bin/bash /root/scripts/goaccess.sh
配置一个nginx虚拟主机,将root指向/user/code/log,这样就可以通过域名去访问HTML界面.
[root@web01 conf.d]# vim fx.conf
server {
listen 80;
server_name longjiping.com;
charset utf-8,gbk;
location / {
root /code/log;
index index.html;
}
}
猜你喜欢
- 2024-10-15 英国Access将与马来西亚数字经济发展局合作,加快在亚太地区扩张
- 2024-10-15 霍尼韦尔为香港麗翔公务航空提供GoDirect客舱互联服务|美通社
- 2024-10-15 详解Win10家庭版/专业版/企业版功能区别
- 2024-10-15 Go1.18 快讯:这个新特性太实用了(go1.17新特性)
- 2024-10-15 CentOS中Nginx日志自动分割及日志分析
- 2024-10-15 GO语言(三十):访问关系型数据库(上)
- 2024-10-15 从linux网站搭建到日志服务审计渗透溯源
- 2024-10-15 golang对接阿里云私有Bucket上传图片、授权访问图片
- 2024-10-15 开源的分析web日志工具-Python语言开发,具有灵活的日志格式配置
- 2024-10-15 nginx运维小纪(nginx应用与运维实战 电子版)
你 发表评论:
欢迎- 07-08Google Cloud Platform 加入支持 Docker 的容器引擎
- 07-08日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 07-08美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- 07-08GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 07-08谷歌推出Cloud Dataproc,缩短集群启动时间
- 07-08Infovista与Google Cloud携手推进射频网络规划革新
- 07-08比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- 07-08BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- 最近发表
-
- Google Cloud Platform 加入支持 Docker 的容器引擎
- 日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 谷歌推出Cloud Dataproc,缩短集群启动时间
- Infovista与Google Cloud携手推进射频网络规划革新
- 比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- NCSA和Google Cloud合作开发AI驱动的网络防御系统,加强泰国网络空间的安全性
- SAP将在沙特阿拉伯 Google Cloud 上推出BTP服务
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)