LINUX.ORG.RU
ФорумAdmin

Не передаются кастомные поля из грока

 


0

1

Доброго времени суток. Подскажите кто-нить. Развернут ЕЛК, из него собираю логи по шаблону в логстеше, примерно так:

grok{
patterns_dir => ["Путь до моих шаблонов"]
match => { "message" =>  "%{MYTYPE_TIMESTAMP}%{SPACE}%{MYTYPE:threadId}%{SPACE}%{MYTYPE:EventSource}%{SPACE}(?<EventType>\w+) (?m)%{GREEDYDATA:message}"}
overwrite => ['message']
}
Так вот, в кибану прилетает только message и все. Из-за чего это может быть. Кто-нить сталкивался?

попробуйте еще убрать строчку overwrite => ['message']

Flover
()
Ответ на: комментарий от Flover

А как output сделал?

elasticsearch {
    hosts => "http://x.x.x.x:9200"
    index => "myindex"
    document_type => "mydoctype"
  }

попробуйте еще убрать строчку overwrite => ['message']

Тоже пробовал, не работает все-равно

spock74
() автор топика
Ответ на: комментарий от spock74

Свой скину может поможет разобраться: input:

input {
  beats {
    port => 5044
  }
}

filter:

filter {
  if [type] == "ntpsync" {
    grok {
        match => {"message" => "%{REDISTIMESTAMP:ntp_date} %{WORD}\[%{NOTSPACE}\]\: %{GREEDYDATA:ntp_message}"}
    }
  }
}
output:
output {

  if "_grokparsefailure" not in [tags] {
    if [type] == "ntpsync" {
      elasticsearch {
        index => "ntp-%{+YYYY.MM.dd}"
        hosts => ["localhost:9200"]
      }
    }
  }
}

Flover
()
Ответ на: комментарий от Flover

В общем проблема решилась, у меня в фильтре стояли условия проверки, примерно так:

filter {
 if [type] == '...' {
  grok {
   match...
  }
 }
 else if [type] == '...' {
  grok {
   match..
  }
 }
}
Оставил подряд match без условий. Проверка все-равно на выходе еще делается.

spock74
() автор топика
Ответ на: комментарий от Flover

У меня в поле type передавалось не то, что в filebeat было выставлено. Можно конечно вернуть проверки, но есть ли смысл? шаблоны логово все-равно разные, или нагрузки меньше будет ?

spock74
() автор топика
Ответ на: комментарий от spock74

Конкретно не подскажу, как я понимаю из файлбитов вылетают логи с тэгом, что бы логстэш их пропарсил нужно сделать условие на опредленных тэг и что бы отправить в кибану с индексом тоже нужно сделать проверку. Вот так у меня файлбиты сделаны:

#######################################
filebeat.inputs:
################

#sales
- type: log
  enabled: true
  paths:
      - /linuxcash/logs/current/saleUnload*.log
  fields:
    type: sales
  tags: ["sales"]
  fields_under_root: true
  scan_frequency: 5s


output.logstash:
  hosts: ["192.168.252.21:5044"]

xpack.monitoring:
  enabled: true
  elasticsearch:
    hosts: ["http://192.168.252.21:9200"]

Flover
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.