2017-02-07 14 views
0

Я создаю статистику microservice для моего приложения.
ELK стек для хранения данных из нескольких устройств .conf файл

Мне нужно собрать информацию от 5 разных клиентов: IOs, Android phone, web client and JS client.

Может кто-нибудь помочь мне с .conf file for logstash?

Я хотел бы послать json-s directly to logstash, это возможно? Или мне всегда нужно читать журналы из файла? Какой фильтр мне нужно использовать? Как указать входные данные для них?

Мой стек ELK будет работать на сервисе контейнера amazon ec2, как microservice.

Может ли кто-нибудь помочь мне по этому вопросу?
Ваша помощь очень ценится.
С наилучшими пожеланиями.

ответ

0

Существует несколько способов отправки входных данных в logstash. С текущей версией вы можете найти список здесь- https://www.elastic.co/guide/en/logstash/current/input-plugins.html

Я не уверен, что если бы в состоянии помочь вам разработать, как вы хотите сделать это, но некоторые из sugeestions я мог бы дать являются- 1) войти эти сообщения стандартным способом в виде файла в формате JSON и использовать файл плагина (если вы хотите logstash на той же машине, где хранится файл)
так входной части будет выглядеть как

input { 
     file { 
     path => ... 
     codec =>json 
    } 

2) использовать Кафка плагин. Для этого необходимо установить kafka и написать программу продюсера kafka для отправки сообщений в logstash. Сообщения отправляются с использованием темы, которую вы создали. вход logstash будет выглядеть как-

input { 
kafka { 
     bootstrap_servers => "..." 
     topics => ["..."] 
     codec => json 
    } 

} 

Это может показаться сложным, но и помогает удалить зависимости и разъединить вашу архитектуру. Вам тоже нужно было бы понять кафку.

Это всего лишь пара, но вы можете использовать другие, если хотите, исходя из ваших требований.

Чтобы различать клиентов, которые отправляют данные, в вашем json вы можете иметь поле «клиент», с помощью которого вы можете фильтровать и выполнять какую-либо задачу. Чтобы отфильтровать данные на основе поля клиента, вам нужно будет ссылаться на него как «% {client}»

Надеюсь, это поможет.

Thanks

0

Logstash имеет вход для входа в систему. Вы можете настроить это, чтобы слушать, и иметь свои приложения PUT данные в logstash для обработки.

Есть также входы для tcp и udp, и, возможно, другие, которые вы могли бы использовать.

Ваши приложения должны иметь дело со случаем, когда logstash был занят/недоступен/мертв.