Как установить шаблон индекса кибана из filebeat? - PullRequest
1 голос
/ 16 июня 2019

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

Я хочу изменить это на application-name-filebeat-2019.06.16. Но это не работает. Я ищу способ сделать это в filebeat, так как будет несколько приложений / filebeats, но один единственный logstash /asticsearch / kibana.

Я пробовал эти конфиги битов файлов на filebeat.yml.

filebeat.inputs:
- type: log
  paths:
    - /var/log/*.log
  fields:
    - app_name: myapp

output.logstash:
  index: "%{fields.app_name}-filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
  hosts: ["${ELK_ENDPOINT}"]
  ssl.enabled: true
  ssl:
    certificate_authorities:
      - /etc/pki/tls/certs/logstash-beats.crt

setup.template.name: "%{fields.app_name}-filebeat-%{[agent.version]}"

один и тот же тип файла будет с каждым из хостов приложения узла и filebeat.

также logstash инициализируется с этими конфигами

02-уд-input.conf

input {
  beats {
    port => 5044
    codec => "json"
    ssl => true
    ssl_certificate => "/etc/pki/tls/certs/logstash-beats.crt"
    ssl_key => "/etc/pki/tls/private/logstash-beats.key"
  }
}

30-output.conf

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

это шаблон индекса genarating как filebeat-2019.06.16. Я хочу что-то вроде application-name-filebeat-2019.06.16.

1 Ответ

2 голосов
/ 17 июня 2019

Вы отправляете свои журналы filebeat в logstash, вам нужно определить имя индекса в конвейере logstash, а не в файле конфигурации filebeat.

Попробуйте следующий вывод:

output {
  elasticsearch {
    hosts => ["localhost"]
    manage_template => false
    index => "%{[fields][app_name]}-%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

Чтобы установить имя индекса для filebeat, вам нужно будет отправить журналы напрямую вasticsearch.

Если у вас есть другие биты, отправляющие данные на тот же порт, и некоторые из них не имеют поля [fields][app_name], вы можетеиспользуйте условный вывод или создайте поле в своем конвейере.

...