虽然这是一个两个问题的帖子,但任何一个问题的答案都可以解决我的一个问题,所以我只需要对这两个问题之一做出回应。
我正在使用一个名为dynamic-dynamodb的应用程序来扩展我们的发电机表。
接下来是通过nxlog将日志从那里获取到logstash,我也这样做了。
问题是日期时间格式有点错误,它是
2015-02-24 14:55:39,777
而不是(注意T
和.
):
2015-02-24T14:55:39.777
坦率地说,关于如何配置日志输出的文档有点……好吧,这很垃圾。
我能够弄清楚如何将其格式化为 json,但我无法弄清楚如何更改日期时间格式。
这是我的格式(格式字符串作为heredoc存储在哈希中,然后作为chef中的模板写入conf):
{
"EventReceivedTime": "%(asctime)s",
"name": "%(name)s",
"level": "%(levelname)s",
"message": "%(message)s",
"type":"dynamic-dynamodb",
"hostname": "#{node['hostname']}",
"enviroment" : "#{node.chef_environment}",
"node_name" : "#{app_name}",
"ipaddress" : "#{node['ipaddress']}"
}
所以,由于我不知道如何更改格式,所以我想在推送到 logstash 之前通过 nxlog 重新格式化日期时间字符串(它将日志读取为 json),但我看起来很好,我似乎也找不到如何做到这一点。
因此,任何回答这两个问题的帮助都会很棒。
1)如何在logger格式中直接重新格式化时间
或者
2)如何在我推送到logstash之前重新格式化nxlog中的日期时间