文章目录

  • 说明
  • 基础
    • 安装
    • 参数
    • 使用
    • 报告分析
  • 附录
    • 日志格式
      • 变量
      • 预置格式
      • 日志实例
        • 默认
        • 自定义格式
    • 源码安装

说明

Nginx 的日志分析有助于对流量、错误排查,使用工具 goaccess 可以避免写复杂的 awk 函数,可以方便的统计来源 IP、请求流量、请求地址及请求时间分布。

goaccess 工程地址

报告示例

基础

安装

yum install goaccess -y

参数

参数 作用
-o 输出报告
-q 地址统计不带 query 参数
–hour-spec 默认为 hr 按小时统计,min 按分钟统计
–log-format 指定日志格式,默认的 Nginx 日志需要指定 COMBINED

使用

  • 一般在服务器使用工具分析后,将报告下载到本地或者移动到 web 目录下进行查看
# 交互指定日志格式
goaccess dhccam.log# 使用默认的 Nginx 日志格式(常用)
goaccess -qo report.html --log-format=COMBINED  access.log
# 按分钟统计
goaccess -qo report.html --log-format=COMBINED --hour-spec=min  access.log# 个性化日志格式
goaccess --log-format='%h %^[%d:%t %^] "%r" %s %b' --date-format='%d/%b/%Y' --time-format='%H:%M:%S' --hour-spec=min -o report.html dhccam.log

报告分析

报告示例

公共统计项

  • 请求次数
  • 请求流量
  • 访问来源

维度 | 子项

  • | -
    总请求 | 日期
    请求地址(除静态资源) | 请求方法; 请求协议; 请求地址
    静态资源 | 请求方法; 请求协议; 请求地址
    未找到 | 请求方法; 请求协议; 请求地址
    来源 IP | 国家; IP
    操作系统 | 操作系统
    浏览器 | 浏览器
    时间分布 | 小时
    referer 网站 | referer 网站
    HTTP 状态 | HTTP 状态
    国际位置 | GEO

附录

日志格式

变量

参数 | nginx 变量

  • | -
    %h | $remote_addr
    %^ | 忽略相关参数
    %d | 日期
    %t | 时间
    %r | $request
    %s | $status
    %b | $body_bytes_sent

预置格式

# COMBINED
%h %^[%d:%t %^] "%r" %s %b "%R" "%u"# VCOMBINED
%v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"# Common
%h %^[%d:%t %^] "%r" %s %b# VCOMMON
%v:%^ %h %^[%d:%t %^] "%r" %s %b# W3C
%d %t %h %^ %^ %^ %^ %r %^ %s %b %^ %^ %u %R# SQUID(Squid native log format)
%^ %^ %^ %v %^: %x.%^ %~%L %h %^/%s %b %m %U

日志实例

默认

日志格式

$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"

日志

127.0.0.1 - - [28/Mar/2020:00:00:01 +0800] "GET /opregister/choosedoctor/b08wMg/ZEhDOQ HTTP/1.0" 200 14840 "https://webapp.cmu1h.com/wehospital/opregister/choosedept" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.11(0x17000b21) NetType/WIFI Language/zh_CN"

命令

goaccess --log-format='%h %^[%d:%t %^] "%r" %s %b' --date-format='%d/%b/%Y' --time-format='%H:%M:%S' access.log --hour-spec=min>report.html

自定义格式

日志格式

[$time_local] [$msec] $status "$request" $body_bytes_sent "$http_referer" "$http_user_agent" "$remote_addr";

日志

[28/Mar/2020:00:00:01 +0800] [1585324801.441] 200 "POST /wehospital/opregister/getschedoclist HTTP/1.1" 245 "https://webapp.cmu1h.com/wehospital/opregister/choosedoctor/b3V3MA" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.11(0x17000b21) NetType/WIFI Language/zh_CN" "117.136.5.228"

命令

goaccess --log-format='[%d:%t %^] %D %s "%r" %b "%R" "%u" "%h"' --date-format='%d/%b/%Y' --time-format='%H:%M:%S' sslreq.log-20200329 --hour-spec=min>ssl.html

源码安装

wget https://tar.goaccess.io/goaccess-1.3.tar.gz
tar -xzvf goaccess-1.3.tar.gz
cd goaccess-1.3/
./configure --enable-utf8 --enable-geoip=legacy
make
make install

goaccess 基本使用相关推荐

  1. GoAccess安装及分析nginx实时日志

    GoAccess是一个基于终端的快速日志分析器.其核心思想是实时快速分析和查看Web服务器统计信息,而无需使用您的浏览器(如果您希望通过SSH快速分析访问日志,或者只是喜欢在终端中工作),终端输出是默 ...

  2. 使用GoAccess分析Nginx日志

    下载 GoAccess 的源代码.编译和安装: http://www.goaccess.io/download # wget http://tar.goaccess.io/goaccess-0.9.6 ...

  3. goaccess在定时任务中不执行的问题

    2019独角兽企业重金招聘Python工程师标准>>> When a task is run within cron, stdin is closed. Programs that ...

  4. centos7 源码安装goaccess

    1. 使用yum安装在不同服务器上可能失败, 推荐使用源码安装goaccess # 安装依赖 yum install -y ncurses-devel GeoIP-devel.x86_64 tokyo ...

  5. centos php日志分析,记录一下CentOS7安装GoAccess日志分析工具

    之前项目一直都在用这个日志分析工具,自己也曾搭建过.现在整理一下之前的安装使用过程. GoAccess是一个开源的实时网络日志分析器和交互式查看器,可在Linux终端或浏览器中运行.为系统管理员提供可 ...

  6. nginx日志查看goaccess安装使用

    2019独角兽企业重金招聘Python工程师标准>>> nginx日志查看goaccess安装使用 准备工作: Linux CentOs 6.5 Nginx 1.8 1. 安装前准备 ...

  7. 在Linux中使用GoAccess分析Nginx的日志

    一 GoAccess简介 GoAccess是一款日志分析工具,可以用来分析Apache,IIS,Nginx的日志,或者一些其他web服务的日志.其特点是安装简单,使用方便,分析速度快 二 GoAcce ...

  8. nginx 带宽_Nginx日志如何分析 GoAccess

    " 如何进行Nginx日志的分析呢?如获得topN 来源IP.URL,以及PV.UV等. " 认识下GoAccess GoAccess[1]支持对所有Web日志格式实现快速实时的分 ...

  9. goaccess配置nginx日志解析

    2019独角兽企业重金招聘Python工程师标准>>> 日志格式: 127.0.0.1 127.0.0.1 127.0.0.1 - "01/Aug/2016:11:10:1 ...

  10. Nginx的access.log日志分析工具-goaccess

    一.安装goaccess wget http://tar.goaccess.io/goaccess-1.3.tar.gz  --no-check-certificate #下载tar包 tar -xz ...

最新文章

  1. 解读万方学术检索——SimCSE、Sentence-BERT…
  2. oracle 常用sql
  3. 【集合论】有序对 ( 有序对 | 有序三元组 | 有序 n 元祖 )
  4. oracle 游标循环 while,Oracle的游标使用方法 三种循环
  5. mysqlslap详解--MySQL自带的性能压力测试工具(转)
  6. Linux进阶之路————组管理与权限管理
  7. java常见命名规则
  8. Hadoop(七)Hive基础
  9. 还在使用集合类完成这些功能?不妨来看看 Guava 集合类!!!
  10. C语言10个经典小程序——小白必备!
  11. 谷歌“Adobe Flash Player已被屏蔽”的解决办法
  12. mysql同时满足升序和降序_mysql升序和降序语句
  13. 键盘没有pause break,该怎么办?
  14. SWUST OJ 69: 偷菜时间表
  15. Java随笔记 - Java代码实现一个死锁程序
  16. JavaScript实现登录密码的显示和隐藏
  17. 一篇文章带你走近Android自定义view
  18. 全国省市县信息sql脚本
  19. LabVIEW编程LabVIEW控制NI 9481例程与相关资料
  20. Python模块介绍使用:EasyOCR快速实现图片文字识别

热门文章

  1. 超详细 Unity 大作业之 坦克大战
  2. 对话ChatGPT:嵌入式软件测试路在何方
  3. R语言批量读取写入Excel数据
  4. python中的double 型数据_Python基本数据类型之浮点型
  5. 【网络安全】第3章,公钥密码体制
  6. 【电子学会】2019年03月图形化二级 -- 垃圾分类
  7. docker部署项目自动化脚本
  8. EOF和BOF的理解
  9. Ipython magic function
  10. M_PI M_PI_2 M_PI_4的含义