Не удалось получить данные, относящиеся к индексам в кибане.

Я могу создать индексы, используя logstash.conf. Мой тип ввода - гельф. Я отправляю логи logstash кибане. Вот мой logstash.conf

input 
{ gelf { } 
} 
output 

{
 stdout { codec => rubydebug }
 elasticsearch {
  hosts =>  ["elk.lera.com:80"]
  index => "templeton-math-%{+YYYY.MM.dd}"
 }

elasticsearch {
  hosts =>  ["elk.lera.com:80"]
  index => "templeton-science-%{+YYYY.MM.dd}"
 }
 elasticsearch {
  hosts =>  ["elk.lera.com:80"]
  index => "templeton-bio-%{+YYYY.MM.dd}"
 }
 elasticsearch {
  hosts =>  ["elk.lera.com:80"]
  index => "templeton-lang-%{+YYYY.MM.dd}"
 }
}

Проблема: логи теперь отправляются по всем индексам. Я хотел бы отправить журналы по соответствующим индексам.

Я добавил как

if[tag] == "templeton-math"{
elasticsearch {
  hosts =>  ["elk.lera.com:80"]
  index => "templeton-math-%{+YYYY.MM.dd}"
 }
}

Выдает ошибку INFO logstash.agent - Постоянный файл UUID не найден. Генерация нового UUID {:uuid=>"67f7a48e-fc7c-499b-85a0-3fd6979f88f6",:path=>"/var/lib/logstash/uuid"} 14:58:14.308 [LogStash::Runner] ОШИБКА logstash.agent - Невозможно создать конвейер {:reason=>"Ожидается один из #, => в строке 22, столбце 9 (байт 179) после вывода \n\n{\n\nasticsearch {\n hosts "} 2017-10-11 14:58:14,355 Api Webserver ОШИБКА Не найден файл конфигурации log4j2. Использование конфигурации по умолчанию: регистрация только ошибок на консоли.

1 ответ

Попробуй это.

output {
    stdout { codec => rubydebug }

    if [tag] == "templeton-math" {
        elasticsearch {
            hosts =>  ["elk.lera.com:80"]
            index => "templeton-math-%{+YYYY.MM.dd}"
        }
    }

    if [tag] == "templeton-science" {
        elasticsearch {
            hosts =>  ["elk.lera.com:80"]
            index => "templeton-science-%{+YYYY.MM.dd}"
        }
    }

    if [tag] == "templeton-bio" {
        elasticsearch {
            hosts =>  ["elk.lera.com:80"]
            index => "templeton-bio-%{+YYYY.MM.dd}"
        }

    }

    if [tag] == "templeton-lang" {
        elasticsearch {
            hosts =>  ["elk.lera.com:80"]
            index => "templeton-lang-%{+YYYY.MM.dd}"
        }
    }
}
Другие вопросы по тегам