我正在为我的应用创建统计信息Single<List<DateObject>>
。
我需要从5个不同的客户收集信息:microservice
。
任何人都可以通过IOs, Android phone, web client and JS client
我想发送.conf file for logstash?
,是否有可能?或者我是否总是需要从文件中读取日志?我需要使用哪种过滤器?如何为它们指定输入?
我的ELK堆栈将在亚马逊ec2容器服务上运行,作为json-s directly to logstash
。
有人可以帮我解决这个问题吗? 非常感谢您的帮助 最诚挚的问候。
答案 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忙碌/无法访问/死亡时,您的应用程序必须处理此案例。