Fluentd NewRelic 输出 "time must be a Fluent::EventTime (or Integer): Float"
Fluentd NewRelic output "time must be a Fluent::EventTime (or Integer): Float"
我遇到了一个我不明白的问题,td-agent 配置摘录:
<source>
@type gelf
tag gelf-nr
<parse>
@type json
</parse>
port 12201
</source>
<match gelf-nr**>
@type copy
<store>
@type stdout
</store>
<store>
@type newrelic
api_key XXXXXXXXXXXXXXXXXXXXXXXXXX
</store>
</match>
输出插件 newrelic 总是抱怨 gelf failed to emit error="time must be a Fluent::EventTime (or Integer): Float" error_class="ArgumentError
我试图将 json 的字段时间戳编辑为纳秒,但导致问题的不是这个。
消息摘录:
2020-09-22 10:00:18.135967969 +0200 gelf-nr: {"version":"1.0","host":"plop-01.stag-21","message":"TEST log plop","level":3,"facility":"plop.log","misc":{"reason":"test erreur","status_code":400,"quote_ids":[1234,5678]},"timestamp":"1600761476000000000","subject"...
我怀疑问题出在最初的 2020-09-22 10:00:18.135967969 +0200。
你怎么看 ?你能帮忙吗?
摆脱纳秒,显然是 NR 输出插件中的错误(过时的实现):
<source>
...
</source>
<filter **>
@type record_modifier
<record>
timestamp "${timestamp.to_datetime.iso8601(6)}"
</record>
</filter>
<match **>
...
</match>
感谢 Max:
我用过:
<filter **>
@type record_modifier
<record>
timestamp "${timestamp.to_datetime.iso8601(6)}"
</record>
</filter>
并删除了时间解析(time_Format、keep_time_key)。但不是 time_key 因为 jsons 中的字段不是时间而是时间戳。
问题似乎出在 NR 中,而不是在解析器中
我遇到了一个我不明白的问题,td-agent 配置摘录:
<source>
@type gelf
tag gelf-nr
<parse>
@type json
</parse>
port 12201
</source>
<match gelf-nr**>
@type copy
<store>
@type stdout
</store>
<store>
@type newrelic
api_key XXXXXXXXXXXXXXXXXXXXXXXXXX
</store>
</match>
输出插件 newrelic 总是抱怨 gelf failed to emit error="time must be a Fluent::EventTime (or Integer): Float" error_class="ArgumentError
我试图将 json 的字段时间戳编辑为纳秒,但导致问题的不是这个。 消息摘录:
2020-09-22 10:00:18.135967969 +0200 gelf-nr: {"version":"1.0","host":"plop-01.stag-21","message":"TEST log plop","level":3,"facility":"plop.log","misc":{"reason":"test erreur","status_code":400,"quote_ids":[1234,5678]},"timestamp":"1600761476000000000","subject"...
我怀疑问题出在最初的 2020-09-22 10:00:18.135967969 +0200。 你怎么看 ?你能帮忙吗?
摆脱纳秒,显然是 NR 输出插件中的错误(过时的实现):
<source>
...
</source>
<filter **>
@type record_modifier
<record>
timestamp "${timestamp.to_datetime.iso8601(6)}"
</record>
</filter>
<match **>
...
</match>
感谢 Max:
我用过:
<filter **>
@type record_modifier
<record>
timestamp "${timestamp.to_datetime.iso8601(6)}"
</record>
</filter>
并删除了时间解析(time_Format、keep_time_key)。但不是 time_key 因为 jsons 中的字段不是时间而是时间戳。 问题似乎出在 NR 中,而不是在解析器中