Filebeat ›можно ли отправлять данные в Elasticsearch с помощью Filebeat без Logstash

Я новичок в ELK. Я установил сначала Elasticsearch и Filebeat без Logstash, и я хотел бы отправить данные из Filebeat в Elasticsearch. После того, как я установил Filebeat и настроил файлы журналов и хост Elasticsearch, я запустил Filebeat, но затем ничего не произошло, даже несмотря на то, что в файлах журнала много строк, что, по мнению Filebeats,.

Так можно ли вообще пересылать данные журнала напрямую на хост Elasticsearch без Logstash? я


person Rui    schedule 25.04.2016    source источник
comment
Да, это определенно возможно. Не могли бы вы обновить свой вопрос конфигурацией filebeat, пожалуйста? Также можно указать, какую версию ES вы используете?   -  person Val    schedule 25.04.2016
comment
filebeat: prospectors: - пути: - /opt/logs/*.log input_type: log output: elasticsearch: hosts: [front.development.xxx:9200]   -  person Rui    schedule 25.04.2016
comment
Он будет более разборчивым, если вы обновите свой вопрос, используя правильно отформатированную конфигурацию.   -  person Val    schedule 25.04.2016
comment
Моя конфигурация довольно проста, как показано выше. Но после того, как я запустил Filebeat и Elasticsearch, ничего не произошло: ‹   -  person Rui    schedule 25.04.2016
comment
Какую версию ES вы используете?   -  person Val    schedule 25.04.2016
comment
Где установлен ваш ES? На вашем локальном компьютере или на каком-то удаленном хосте? В последнем случае, можете ли вы обновить свой вопрос, указав соответствующую конфигурацию сети в вашем elasticsearch.yml файле?   -  person Val    schedule 25.04.2016
comment
Мой ES установлен на сервере, отличном от Filebeat, мой elasticsearch.yml пуст, как я только что проверил. Стоит ли его настраивать?   -  person Rui    schedule 25.04.2016
comment
Да, у вас должен быть хотя бы network.host: front.development.xxx или публичный IP-адрес, который может использовать ваша конфигурация filebeat.   -  person Val    schedule 25.04.2016
comment
Позвольте нам продолжить это обсуждение в чате.   -  person Rui    schedule 25.04.2016


Ответы (1)


Похоже, ваш ES 2.3.1 настроен только для доступа с localhost (по умолчанию, начиная с ES 2.0)

Вам нужно изменить ваш elasticsearch.yml файл этим и перезапустить ES:

network.host: 168.17.0.100

Тогда ваша конфигурация вывода filebeat должна выглядеть так:

output:
   elasticsearch:
     hosts: ["168.17.0.100:9200"]

Затем вы можете проверить в своих индексах ES filebeat-*, что вы получаете новые данные журнала (т.е. счетчик hits.total должен со временем увеличиваться):

curl -XGET 168.17.0.100:9200/filebeat-*/_search
person Val    schedule 25.04.2016
comment
Я переустановил Elasticsearch и Filebeat. Раньше я забыл запустить Filebeat с помощью sudo, а затем обнаружил ошибку. Затем, когда я повторно запустил Filebeat с помощью sudo, все прошло нормально, в зависимости от вашего предложения. 100% подтвердил ваше предложение сейчас :) Еще раз спасибо за вашу огромную помощь! Вы упомянули об отладке с помощью команды - filebeat -e -d *, это, похоже, не сработало для меня должным образом, но с параметром -v (подробный) я действительно получил журнал Filebeat из syslog, как я настроил. - person Rui; 26.04.2016