Я использую filebeat, и я хочу также ввести metricbeat. Выход Filebeat индексируется в logstash- *, но мне нужен другой индекс с данными из metricbeat (например, metricbeat-test -% {+ YYYY.MM.dd}). Они будут работать вместе на одном сервере.Elasticsearch несколько индексов за такт?
Как я могу проинструктировать logstash для индексирования файла filebeat в logstash- * и ЕСЛИ он metricbeat для продолжения и использования другого индекса?
Более или менее мне нужно заявление IF, однако я не уверен, что я должен туда включать!
Мой logstash конфигурации выглядит следующим образом:
выход {elasticsearch { хостов => "10.0.0.5:9200" manage_template => "истинный" индекс => «logstash-тест -% {+ YYYY.MM.DD}» document_type => "Апач" }}
Я сделал то, что вы предложили, но он не работает. Все работает нормально до последнего шага, который находится от logstash -> elasticsearch. Ничто не индексируется, и я не уверен, почему, выполнив то, что вы предложили, logstash вообще не разговаривает с elasticsearch. Моя топология - filebeat -> logstash -> redis -> logstash -> es .. все шаги до тех пор, пока последняя logstash не будет прекрасна и не работает, но elasticsearch ничего не получает – user3124171
Вы не упоминали Redis в своем исходном вопросе. С Redis в этом цикле, вероятно, что '@ metadata' не включается при переходе из Logstash -> Redis, поэтому' [@metadata] [beat] 'может отсутствовать. Я рекомендую использовать 'output {stdout {codec => rubydebug}}' в финальной Logstash для отладки того, что входит в Redis. –
Проблема заключается в ключевом значении входа redis logstash. Я не знаю, почему это не работает, так как моя выходная конфигурация выглядит так: redis { host => "172.21.0.2" port => "6379" key => "% {[@ metadata] [beat]}" data_type => "list" ', который является прекрасным, однако, когда я устанавливаю' key => "% {[@ metadata] [beat]}" ', как в redis input, он не работает ... Я понятия не имею, что происходит здесь lol – user3124171