Создание индекса на основе сопоставления с образцом в logstash

Я пытаюсь создать централизованную систему ведения журнала для групповых серверов Windows и Linux, используя журнал elasticsearch logstash и kibana. Моим вводом будут системные журналы из обеих систем (один входной поток). Я пытаюсь понять, есть ли способ использовать grok и сопоставить шаблон, а затем на основе этого поместить журналы в разные индексы (один для журналов Windows и один для журналов Linux)

Любая помощь в направлении будет оценена.

Спасибо,


person user4479980    schedule 07.07.2015    source источник


Ответы (2)


Вы можете назначить «тип» в зависимости от того, из какой системы поступают журналы, а затем использовать этот тип в выводе.

Ниже приведена конфигурация:

input{
   file{
     path =>"path/to/system1_log_file"
     type =>"sys1logs"
   }

  file{
    path =>"path/to/system2_log_files"
    type =>"sys2logs"
  }
}

output{
  if[type]=="sys1logs"{
  #output to sys1 index
   elasticsearch{host => localhost
               index => "sys1"
               }
   }

 if[type]=="sys2logs"{
 #output to sys2 index
  elasticsearch{host => localhost
               index =>"sys2"
              }
  }
}
person Anagha Desai    schedule 07.07.2015
comment
Спасибо за ответ @Ana! Но мой ввод - это один источник (один и тот же путь), поэтому я не могу различать источник. Мне нужно будет разобрать журналы, а затем поместить их в разные индексы. - person user4479980; 08.07.2015
comment
Посмотрите ответ на этот вопрос. Это может быть полезно. - person Anagha Desai; 13.07.2015

Вы можете использовать grok{} их и add_field, когда grok соответствует:

grok {
    matches => { "message", "foo %{WORD}" }
    add_field => { "send_to", "fooindex" }
}

или из поля в шаблоне:

grok {
    matches => { "message", "foo %{WORD:send_to} bar" }
}

А затем используйте %{send_to} в своем выводе:

elasticsearch {
    index => "%{send_to}-YYYY.MM.dd"
}

Обратите внимание, что если ваши индексы не называются "logstash-*", вы не получите сопоставление по умолчанию, которое предоставляет logstash.

person Alain Collins    schedule 07.07.2015