如何在logstash中创建自定义文档_id?

时间:2018-01-23 09:35:53

标签: elasticsearch logstash

这是示例logstash输出过滤器。

output
{
    elasticsearch
    {
            hosts => ["localhost"]
            sniffing => true
            manage_template => false
            index => "mqtt-index-%{+YYYY.MM.dd}"
            document_id => "%{parsedMessage.device_id}"
            document_type => "iot_data"
    }
}

此代码将现有的_id更改为%{parsedMessage.device_id}。如何通过其他字段更改_id?

2 个答案:

答案 0 :(得分:2)

从过滤器中删除了目标选项。

filter { json { source => "message" } }

并使用以下输出创建自定义文档ID。

output
{
    elasticsearch
    {
            hosts => ["localhost:9200"]
            sniffing => true
            manage_template => false
            index => "mqtt-index-%{+YYYY.MM.dd}"
            document_id => "%{device_id}"
            document_type => "iot_data"
    }
}

答案 1 :(得分:0)

符号不正确你需要这样做

        document_id => "%{[parsedMessage][device_id]}"