Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 使用Kafka和ELK堆栈进行集中式日志记录_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Apache Kafka_Logstash_Kibana - Fatal编程技术网 elasticsearch 使用Kafka和ELK堆栈进行集中式日志记录,elasticsearch,apache-kafka,logstash,kibana,elasticsearch,Apache Kafka,Logstash,Kibana" /> elasticsearch 使用Kafka和ELK堆栈进行集中式日志记录,elasticsearch,apache-kafka,logstash,kibana,elasticsearch,Apache Kafka,Logstash,Kibana" />

elasticsearch 使用Kafka和ELK堆栈进行集中式日志记录

elasticsearch 使用Kafka和ELK堆栈进行集中式日志记录,elasticsearch,apache-kafka,logstash,kibana,elasticsearch,Apache Kafka,Logstash,Kibana,有50多个Java应用程序(它们不是微服务,所以我们不必担心服务的多个实例)。现在,我的架构师设计了一个解决方案来获取日志文件,并将其输入卡夫卡主题,然后从卡夫卡将其输入logstash,并将其推送到elastic search,以便我们可以在kibana中查看日志。现在我对卡夫卡和麋鹿队还不熟悉。有人能给我指出一个正确的方向吗。我了解到Log4J和SLF4J可以配置为将日志推送到kafka主题。 1.现在如何从卡夫卡消费并将其加载到logstash?我必须写一个卡夫卡消费者,还是我们可以通过配

有50多个Java应用程序(它们不是微服务,所以我们不必担心服务的多个实例)。现在,我的架构师设计了一个解决方案来获取日志文件,并将其输入卡夫卡主题,然后从卡夫卡将其输入logstash,并将其推送到elastic search,以便我们可以在kibana中查看日志。现在我对卡夫卡和麋鹿队还不熟悉。有人能给我指出一个正确的方向吗。我了解到Log4J和SLF4J可以配置为将日志推送到kafka主题。 1.现在如何从卡夫卡消费并将其加载到logstash?我必须写一个卡夫卡消费者,还是我们可以通过配置来完成? 2.logstash将如何将日志提供给elastic search? 3.如何区分所有50个应用程序日志,是否必须为每个应用程序创建主题


我提出了商业问题,现在我需要一步一步的专家建议提前感谢。

Logstash有一个输入和一个输出,因此这是Logstash端的配置。您可以使用log4j端的配置来区分应用程序(尽管使用许多主题是另一种可能性)。

基本上,您的架构师为您设计的内容可以根据其功能(在架构级别)分为两个主要组件

  • 日志缓冲区(Kafka
  • 原木摄食器(麋鹿

    [Java应用程序]===>[Kafka]-->[ELK]

  • 如果你研究麋鹿,你会觉得它对你的解决方案是足够的,而卡夫卡则显得多余。然而,卡夫卡在规模上扮演着重要的角色。当许多Java应用程序将日志发送到ELK时,ELK可能会过载并中断。 为了避免麋鹿超载,建筑师设置了一个缓冲区(KafkaKafka将从应用程序接收日志,并在ELK加载时将其排队。这样,当麋鹿挣扎时,你不会折断麋鹿,也不会松脱原木

    按相同顺序回答您的问题; (1) Logstash有“输入”插件,可用于设置Kafka和Logstash之间的链接。阅读Logstash及其插件

    我- ii-(向下滚动以查找卡夫卡插件)

    (2) Logstash将通过Elasticsearch的输出插件将收到的日志馈送至Elasticsearch

    (3) 我可能不太清楚这一点,但我认为一旦你从卡夫卡那里收到日志,你就能够在日志存储级别过滤和区分日志。您可以在接收时对每条日志消息应用标记或字段。Elasticsearch将使用此附加信息来区分不同的应用程序

    实施步骤

    作为卡夫卡和麋鹿的新手,请遵循以下步骤找到解决方案

    步骤1:首先设置麋鹿。一旦您这样做了,您将能够看到日志是如何可视化的,并且将更加清楚最终解决方案的外观

    步骤2:设置Kafka以将应用程序日志链接到ELK

    注意事项:

  • 你可能会发现麋鹿有一些不错的学习曲线。要了解ELK堆栈中的每个元素是如何工作的,以及其各自的配置和语言是什么,需要花费很多时间

  • 要深入了解ELK,请使用在系统上设置ELK的本地部署路径。因此,避免使用云麋鹿服务