简体   繁体   English

Goaccess,格式错误 - 验证您的日志/日期/时间格式

[英]Goaccess, Format Errors - Verify your log/date/time format

I try to parse my nginx log file, my log file mylog.log is the below我尝试解析我的 nginx 日志文件,我的日志文件 mylog.log 如下

2021-06-29T08:48:47+00:00 "10.146.212.15" -> "mydns.com" - 0.000  5704 - - 4653  302 "68b069fb-6e8f-4a9c-88fd-8a947354b681" "GET /master HTTP/1.1"
2021-06-29T08:48:47+00:00 "10.146.212.15" -> "mydns.com" 0.006 0.006  726 855 337 621  302 "-" "GET /auth/admin/master/console HTTP/1.1"

I try to parse it using the command "goaccess mylog.log --log-format=COMBINED --http-method=no --http-protocol=no -o output.html"我尝试使用命令“goaccess mylog.log --log-format=COMBINED --http-method=no --http-protocol=no -o output.html”来解析它

I got this error: ==1== Format Errors - Verify your log/date/time format我收到此错误: ==1== 格式错误 - 验证您的日志/日期/时间格式

In fact:实际上:

'$time_iso8601 "$remote_addr" -> "$host" $upstream_response_time $request_time  $request_length $upstream_bytes_sent $upstream_bytes_received $bytes_sent  $status "$http_x_token_userid" "$request"'

Using the below configuration file as goaccess-nginx.conf :使用以下配置文件作为goaccess-nginx.conf

time-format %T
date-format %Y-%m-%d
log_format %dT%t+%^ "%h" -> "%v" %^ %T  %^ %^ %D %b  %s "%e" "%r"

# $time_iso8601 "$remote_addr" -> "$host" $upstream_response_time $request_time  $request_length $upstream_bytes_sent $upstream_bytes_received $bytes_sent  $status "$http_x_token_userid" "$request"
# 2021-06-29T08:48:47+00:00 "10.146.212.15" -> "mydns.com" - 0.000  5704 - - 4653  302 "68b069fb-6e8f-4a9c-88fd-8a947354b681" "GET /master HTTP/1.1"
# 2021-06-29T08:48:47+00:00 "10.146.212.15" -> "mydns.com" 0.006 0.006  726 855 337 621  302 "-" "GET /auth/admin/master/console HTTP/1.1"

You can parse the log correctly with all of the custom fields supported by goaccess您可以使用goaccess支持的所有自定义字段正确解析日志

goaccess --config-file goaccess-nginx.conf stackoverflow.log

If you prefer not to use a goaccess config file, you can specify the correct parameters directly as flags:如果你不想使用 goaccess 配置文件,你可以直接指定正确的参数作为标志:

goaccess --time-format %T --date-format %Y-%m-%d --log_format '%dT%t+%^ "%h" -> "%v" %^ %T  %^ %^ %D %b  %s "%e" "%r"' stackoverflow.log

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM