将日志发送到 elasticsearch 时 logstash 输出错误

logstash output error in sending logs to elasticsearch

我使用 filebeat 读取我的服务日志,然后 filebeat 将日志发送到 logstash 进行解析。 logstash 将解析后的日志发送到elasticsearch 进行索引。 但是今天这个错误发生在 logstash 中,并且没有日志在 elasticsearch 中被索引。

[2021-11-02T11:35:36,774][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_inde ::Event:0xf85da17>], :response=>{"index"=>{"_index"=>"logstash-alias-000015", "_type"=>"_doc", "_id"=>"YNas33wBlcfHwocoMbSU", "status"=>400, "error"=>{"type" ls.Usage.UserUsage] of type [float] in document with id 'YNas33wBlcfHwocoMbSU'. Preview of field's value: 'NaN'", "caused_by"=>{"type"=>"illegal_argument_exc ]"}}}}}

我搜索过但没有找到任何线索,非常感谢任何帮助。

根据您得到的错误,一个名为 ls.Usage.UserUsage 的 float 类型的字段包含值 'NaN',它不是 float。

您可以做的是修改您的映射以将 ignore_malformed setting 设置为 true 以便忽略该值,但它不会阻止文档被编入索引。

另一种选择是确保上游不会产生此类错误值。