使用AWS Logs和Cloudwatch从Apache Combined日志格式中提取日期时间

时间:2017-08-18 00:56:50

标签: apache amazon-web-services logging amazon-cloudwatch amazon-cloudwatchlogs

我们正在使用awslogs将Apache Combined格式化日志收集到Cloudwatch。这一切都很好,但我们收到timestamp could not be parsed from message错误。

示例日志条目:

::ffff:10.0.0.1 - blahblah [17/Aug/2017:20:31:07 +0000] "GET /favicon-16x16.png HTTP/1.1" 304 - "http://blahblah:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36"

我们对这组日志文件的配置如下所示,包括我们的datetime_format条目:

[access_logs] log_group_name = cromwell log_stream_name = react-172.31.43.245-access file = /home/admin/aperian-react/log/*access.log datetime_format = "%d/%b/%Y:%H%M:%S %z" multi_line_start_pattern = ::ffff: time_zone = UTC encoding = ascii

如您所见,日期时间是中线。这与系统日志等的大多数示例不同。我们可以更改我们的日志格式,但我们不愿意,因为它们也会流入其他系统。

1 个答案:

答案 0 :(得分:2)

我们的dateformat_string缺少冒号。

datetime_format = "%d/%b/%Y:%H%M:%S %z"  # wrong
datetime_format = "%d/%b/%Y:%H:%M:%S %z" # correct