ELK堆栈,用于存储来自多个设备.conf文件的数据

时间:2017-02-07 10:45:39

标签: logging elasticsearch amazon-ec2 logstash elastic-stack

我正在为我的应用创建统计信息Single<List<DateObject>>

我需要从5个不同的客户收集信息:microservice

任何人都可以通过IOs, Android phone, web client and JS client

帮助我

我想发送.conf file for logstash?,是否有可能?或者我是否总是需要从文件中读取日志?我需要使用哪种过滤器?如何为它们指定输入?

我的ELK堆栈将在亚马逊ec2容器服务上运行,作为json-s directly to logstash

有人可以帮我解决这个问题吗? 非常感谢您的帮助 最诚挚的问候。

2 个答案:

答案 0 :(得分:0)

有多种方法可以将输入数据发送到logstash。使用当前版本,您可以在此处找到列表 - https://www.elastic.co/guide/en/logstash/current/input-plugins.html

我不确定是否能够帮助您设计您想要的方式,但我能提供的一些准备是 - 1)以标准方式在json格式的文件中记录这些消息并使用文件插件(如果你想在存储文件的同一台机器上使用logstash)
所以输入部分看起来像

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

2)使用kafka插件。这需要安装kafka并编写kafka生成器程序以将您的消息发送到logstash。使用您创建的主题发送消息。 logstash输入看起来像 -

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

 }

这可能看起来很复杂但有助于删除依赖关系并解耦您的体系结构。你也必须要了解卡夫卡。

这些只是一对,但如果您愿意,可以根据您的要求使用其他人。

为了区分发送数据的客户端,在json中你可以有一个名为&#34; client&#34;使用它可以过滤和执行某些任务。 要根据客户字段过滤数据,您必须像 - &#34;%{client}&#34;

希望这有帮助。

由于

答案 1 :(得分:0)

Logstash有一个http输入。您可以将其设置为侦听,并将应用程序PUT数据放入logstash进行处理。

还有tcp和udp的输入,可能还有其他可以使用的输入。

当logstash忙碌/无法访问/死亡时,您的应用程序必须处理此案例。