Разделение логов по индексам в Filebeat

Есть два типа логов
/var/log/1.log и 2.log
Подскажите пожалуйста, как настроить правильно filebeat чтобы каждому и этих логов соответствовал свой индекс для logstash + elastic?

В конфиге у меня сейчас вот так:

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /opt/xxxx/logs/xxx.log
    #- c:\programdata\elasticsearch\logs\*

output.logstash:
  # The Logstash hosts
  hosts: ["192.168.0.xxx:5044"]
  protocol: "https"
  index: "index-%{[beat.version]}-%{+yyyy.MM.dd}"
  setup.template.name: "index"
  setup.template.pattern: "*-index-%{[beat.version]}-*"
  setup.template.enabled: true
  compression_level: 9

Т.е. если я просто добавлю еще один paths:
- /opt/xxxx/logs/xxx2.log
то он будет соответствовать index, а хотелось бы чтобы у него был свой index2 для logstash.
Подскажите как сделать или где почитать пожалуйста.

Только этот пост старый, теперь prospectors завутся inputs. Остальное должно работать.

Т.е. получается

paths:
    - /opt/xxxx/logs/test1.log
   - /opt/xxxx/logs/test2.log

output.logstash:
  # The Logstash hosts
  hosts: ["192.168.0.xxx:5044"]
  protocol: "https"
  fields: type: "test1"
fields: type: "test2"
  filebeat.inputs: '%{[test1]}-%{+yyyy.MM.dd}'
  filebeat.inputs: '%{[test2]}-%{+yyyy.MM.dd}'
  index: "index-%{[beat.version]}-%{+yyyy.MM.dd}"
  setup.template.name: "index"
  setup.template.pattern: "*-index-%{[beat.version]}-*"
  setup.template.enabled: true
  compression_level: 9

Так?

Не так. Вам надо создать два объекта input, как во втором примере на этой странице. Каждый input будет иметь свое поле, и это поле пойдет как часть %{[fields.type]:other} в поле index в output.

1 Like