Logstash не заменяет «% type» значением

#logstash #elastic-stack #logstash-configuration

#logstash #эластичный стек #logstash-конфигурация

Вопрос:

Здравствуйте, у меня есть эта конфигурация для logstash, запущенного на моем компьютере :

 input {
    exec {
        command => "powershell -executionpolicy unrestricted -f scripts/windows/process.ps1 command logstash"
        interval => 30
        type => "process_data"
        codec => line
        tags => [ logstash" ]
    }
}

output
{
    if "sometype-logs" in [tags] {
        elasticsearch {
        action => "index"
        doc_as_upsert => true
        index => "sometype-logs-%{ YYYY.MM.dd}"
        hosts => "locahost:9200"
        template_overwrite => true
    }
} else {
    elasticsearch {
    action => "index"
    doc_as_upsert => true
    index => "%{type}"
    hosts => "localhost:9200"
    template_overwrite => true
}
}
  

При отображении индексов у меня :

введите описание изображения здесь

Почему имя индекса — «%type», а не «process_data»?

Ответ №1:

Вероятно, просто что-то о синтаксисе. Чтобы использовать какое-либо поле данных, вы должны использовать этот синтаксис

%{[somefield]}

(см. Пример на этой странице документации)

Итак, в вашем случае попробуйте это :

 "%{[type]}"
  

вместо

 "%{type}"