2016-04-08 4 views
1

У меня есть кластер elasticsearch (ELK) и некоторые узлы, отправляющие журналы в logstash с использованием filebeat. Все серверы в моей среде - CentOS 6.5.Создание настраиваемых полей filebeat

Файл filebeat.yml на каждом сервере применяется модулем Puppet (оба моих тестовых сервера и тестовые серверы имеют одинаковую конфигурацию).

Я хочу, чтобы в каждом документе указывалось поле, которое указывает, было ли это с сервера производства/тестирования.

Я хотел создать динамическое настраиваемое поле в каждом документе, который указывает среду (производство/тест), используя файл filebeat.yml.

Для того, чтобы это исправить, я подумал о запуске команды, которая возвращает среду (можно узнать об окружающей среде через facter) и добавить ее в пользовательское поле «environment» в файле filebeat.yml, но я мог бы Не найди никакого способа сделать это.

Возможно ли выполнить команду через filebeat.yml? Есть ли другой способ достичь моей цели?

ответ

0

Да, вы можете добавлять поля к документу через filebeats.

official doc показывает, как.

+0

Спасибо за быстрый ответ, но что мне нужно, это динамическое поле, которое будет указывать среду сервера. Я знаю, что могу добавить настраиваемое поле, но мне нужно, чтобы это была команда. Причина, по которой я не хочу делать это вручную, как вы предположили, состоит в том, что у меня много серверов, и я не хочу создавать разные файлы для каждого и каждого из них. Спасибо, в любом случае!! –

+1

Поместите переменную в вашу систему управления конфигурацией при развертывании конфигурации filebeat на сервере. –

+0

Думаю, я сделаю это, я хотел бы знать, есть ли другой вариант. Большое спасибо :) –

3

В вашем filebeat.yml:

filebeat: 
    prospectors: 
    - 
     paths: 
     - /path/to/my/folder 
     input_type: log 

     # Optional additional fields. These field can be freely picked 
     # to add additional information to the crawled log files 
     fields: 
     mycustomvar: production 
Смежные вопросы