LINUX.ORG.RU
решено ФорумAdmin

Packetbeat не принимает конфиги

 ,


0

1

Помогите, пожалуйста, разобраться с конфигом в YAML.

Настраиваю Packetbeat для Elastic Stack. Пытаюсь сделать так, чтобы писались пакеты только от 2 машин. Постоянно получаю ошибку «beat.go:625: CRIT Exiting: error initializing publisher: error initializing processors: each processor needs to have exactly one action, but found 2 actions»

Пробовал более простые настройки из мануала. Когда записываю фильтр в 1 строку — всё нормально:

processors:
  - drop_event.when.equals.http.response.code: 200
А в 2 строки и больше — ошибка.
processors:
  - drop_event:
    when.equals.http.response.code: 200
processors:
  - drop_event:
    when:
      equals:
        http.response.code: 200
Я чего-то не понимаю в YAML? Какая разница?

Дополнение.

processors:
  - drop_event:
      when.equals.http.response.code: 200
Работает. Вроде, нормально.

Насколько я помню, в других программах в YAML следующая запись:

word1:
  - word2:
    word3: value
была эквивалентна «word1.0.word2.word3: value»

Здесь это не сработало, и многострочная запись соответствует чему то вроде «word1: {0.word2: null, word3: value}»

Кто неправ? Я или packetbeat?

Ответ: я.

★★★

Последнее исправление: olegd (всего исправлений: 3)

Используй yaml валидатор.
Нет:

processors:
  - drop_event:
    when:
      equals:
        http.response.code: 200
Да:
processors:
  - drop_event:
      when:
        equals:
          http.response.code: 200

Ltm
()

была эквивалентна «word1.0.word2.word3: value»

Нет, то что описано в ямле будет:

word1.0: {word2: null, word3: value}

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

Уже разобрался, но всё равно, спасибо. А где взять валидатор?

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