logstash:将原始Map错误事件从死信队列写入elasticsearch

ujv3wf0j  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(0)|浏览(317)

我正试图找到一种方法,从我的logstash的死信队列到elasticsearch中获取在Map错误时失败的消息的原始数据,这样我就可以研究为什么这些消息首先会出现在dlq中。
不久前我发现有人问这个问题:https://discuss.elastic.co/t/logstash-dead-letter-queue-send-raw-message-to-elasticsearch/190781,这正好描述了我想做的事情,但看起来op要求的原始解决方案从未提供过。
我不关心“修复”dlq'd事件或它们没有到达它们原来的“目的地”,我只关心将原始消息作为字符串带到elasticsearch,最好是带有dlq元数据中Map错误的原因,这样我就可以记录所有这些未索引的消息以及它们发生的原因。
目前,使用 dead_letter_queue 输入插件和 elasticsearch 输出插件时,dlq中的事件会“按原样”写入es索引(有时会导致更多的Map错误)
我正在努力找到如何“封装”原始json消息并通过 filter 带有 mutate 插件,因为我找不到一种方法来引用从 dead_letter_queue 输入插件,或dlq元数据。。。。
例如,我需要从:

{
    "object_with_mapping_error" :
    {
        "int_field": "oops",
        "string_field": 123
    }
}

收件人:

{
    "message" : "{\"object_with_mapping_error\":{\"int_field\": \"oops\", \"string_field\": 123}}",
    "error":
    {
        "type" : "mapper_parsing_exception",
        "reason": <corresponding value from DLQ metadata>,
        "caused_by" : {
            "type" : <corresponding value from DLQ metadata>,
            "reason": <corresponding value from DLQ metadata>
        }
    }

}

任何和所有的帮助/指点 filter 本节需要完成这一点将不胜感激!
(logstash和elasticsearch版本为7.7.0)
(在弹性论坛上也问了这个问题,如果我在那里得到答案,我会在这里更新,反之亦然。https://discuss.elastic.co/t/writing-raw-mapping-error-events-from-the-logstash-dlq-to-elasticsearch/248024)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题