goaccess分析json格式日志

一.安装使用yum安装,yum install goaccess

二.主要介绍格式问题

1.nginx日志格式如下:

log_format  main escape=json '{"time_local":"$time_local",'
        '"remote_addr":"$remote_addr",'
        '"referer":"$http_referer",'
        '"request":"$request",'
        '"status":"$status",'
        '"bytes":"$body_bytes_sent",'
        '"agent":"$http_user_agent",'
        '"dm":"$request_body",'
        '"up_resp_time":"$upstream_response_time",'
        '"request_time":"$request_time"'
        '}';

2.nginx输出日志内容:

{"time_local":"11/Jul/2024:10:56:30 +0800","remote_addr":"x.x.x.x","referer":"https://www.xxxxx","request":"GET /xxxx/xxx/xxxx HTTP/2.0","status":"200","bytes":"47","agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64)","dm":"","up_resp_time":"","request_time":"0.000"}

3.goaccess配置如下:

goaccess -f access.log -o /data/java-program/webpage/record.html --real-time-html --log-format='"time_local":" %d:%t %^","%^":"%h","%^":"%R","%^":"%U","%^":"%s",%^,%^,%^,%^,"%^":"%T"' --time-format='%H:%M:%S' --date-format='%d/%b/%Y'
 

三.遇到的问题

1.时间格式问题

"time_local":" %d:%t %^"

注意中间这里有个空格,不加这个空格会报Token '[11/Jul/2024' doesn't match specifier '%d' ,

下面这种方法无法解决不识别问题,或者我没试出来。

LANG="en_US.UTF-8" bash -c 'goaccess access.log'

日志输出之后中间并没有这个空格,在解析日志的时候是出现了"双引号,去掉双引号之后依然无法识别,后偶然间加了空格,成功识别,希望踩坑经过可以帮助后来的人。

2.log-format格式问题

这个里面的格式要和输出的日志保持一致,里面空格也需要添加才能识别到,所以遇到空格多又不是特别重要的,可以使用%^跳过。

3.time-format,date-format

这两个必须要指定,不然会出现时间格式未设置的问题,参考命令设置。

相关推荐

  1. 使用GoAccess分析nginx

    2024-07-13 00:02:04       31 阅读
  2. MySQL Binlog 的三种格式详解

    2024-07-13 00:02:04       35 阅读
  3. 如何在 Nginx 中配置访问格式

    2024-07-13 00:02:04       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 00:02:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 00:02:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 00:02:04       57 阅读
  4. Python语言-面向对象

    2024-07-13 00:02:04       68 阅读

热门阅读

  1. wifi中的PSR技术

    2024-07-13 00:02:04       21 阅读
  2. mac ssh连接工具

    2024-07-13 00:02:04       26 阅读
  3. android inflate 参数含义

    2024-07-13 00:02:04       18 阅读
  4. React@16.x(56)Redux@4.x(5)- 实现 createStore

    2024-07-13 00:02:04       21 阅读
  5. leetcode热题100.零钱兑换(动态规划)

    2024-07-13 00:02:04       18 阅读
  6. 跟我从零开始学STL(STL代码基础02)---vector容器

    2024-07-13 00:02:04       18 阅读
  7. 数据结构第18节 散列表 - 应用

    2024-07-13 00:02:04       21 阅读