ELK + Filebeat + Kafka 分布式日志管理平台搭建

paths:

  • /var/logs/springboot/sparksys-oauth.log

fields:

log_source: oauth

#================================ Outputs =====================================

#-------------------------- Elasticsearch output ------------------------------

#output.elasticsearch:

Array of hosts to connect to.

hosts: [“192.168.3.3:9200”]

#----------------------------- Logstash output --------------------------------

#output.logstash:

The Logstash hosts

hosts: [“logstash:5044”]

#----------------------------- kafka output --------------------------------

output.kafka:

enabled: true

hosts: [“192.168.3.3:9092”]

topic: sparksys-log

添加kafka输出的配置,将logstash输出配置注释掉。hosts表示kafka的ip和端口号,topic表示filebeat将数据输出到topic为sparksys-log的主题下,此处也根据自己情况修改

2.1.2 Logstash变动

====================================================================================

logstash.conf配置input由原来的输入源beat改为kafka

input {

kafka {

codec => “json”

topics => [“sparksys-log”]

bootstrap_servers => “192.168.3.3:9092”

auto_offset_reset => “latest”

group_id => “logstash-g1”

}

}

output {

elasticsearch {

hosts => “es:9200”

index => “filebeat_%{[fields][log_source]}-%{+YYYY.MM.dd}”

}

}

上述配置说明如下:

  • topics后面的sparksys-log表示从kafka中topic为sparksys-log的主题中获取数据,此处的配置根据自己的具体情况去配置。

  • bootstrap_servers表示配置kafka的ip与端口。

到此,ELFK的变动部分结束,接下来就是kafka的搭建

2.2 kafka搭建

===============================================================================

2.2.1 新建docker-compose.yaml

===============================================================================================

配置如下:

version: ‘3’

services:

zookeeper:

image: zookeeper:latest

container_name: zookeeper

volumes:

  • /Users/zhouxinlei/docker/kafka/zookeeper/data:/data

  • /Users/zhouxinlei/docker/kafka/zookeeper/datalog:/datalog

ports:

  • 2181:2181

restart: always

kafka:

image: wurstmeister/kafka

container_name: kafka

volumes:

  • /Users/zhouxinlei/docker/kafka/data:/kafka

ports:

  • 9092:9092

environment:

KAFKA_ADVERTISED_HOST_NAME: 192.168.3.3

KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

KAFKA_ADVERTISED_PORT: 9092

KAFKA_LOG_RETENTION_HOURS: 120

KAFKA_MESSAGE_MAX_BYTES: 10000000

KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000

KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000

KAFKA_NUM_PARTITIONS: 3

KAFKA_DELETE_RETENTION_MS: 1000

restart: always

kafka-manager:

image: kafkamanager/kafka-manager

container_name: kafka-manager

environment:

ZK_HOSTS: 192.168.3.3

ports:

  • 9001:9000

restart: always

2.2.3 创建并启动kafka容器

======================================================================================

docker-compose up -d

2.2.2 访问 http://192.168.3.3:9001

====================================================================================================

  • 进入kafka-manager web页面新建cluster

ELK + Filebeat + Kafka 分布式日志管理平台搭建

  • 列表展示

ELK + Filebeat + Kafka 分布式日志管理平台搭建

  • 进入kafka01

ELK + Filebeat + Kafka 分布式日志管理平台搭建

  • 新建topic

ELK + Filebeat + Kafka 分布式日志管理平台搭建

ELK + Filebeat + Kafka 分布式日志管理平台搭建

到此kafka的简单使用完成

3 ELK + Filebeat + Kafka 分布式日志管理平台使用测试

==========================================================================================================

  • Filebeat发送日志到kafka

ELK + Filebeat + Kafka 分布式日志管理平台搭建

  • lofstash 消费kafka消息,输入日志到es中

ELK + Filebeat + Kafka 分布式日志管理平台搭建

  • kabana查看日志

ELK + Filebeat + Kafka 分布式日志管理平台搭建

3 总结

========================================================================

  1. 在部署的过程中可能会遇到各种情况,此时根据日志说明都可以百度处理(如部署的过程中不能分配内存的问题)。

  2. 如果完成后如果数据显示不了,可以先到根据工作流程到各个节点查询数据是否存储和传输成功。如查询filebeat是否成功把数据传输到了kafka,可以进入kafka容器当中使用kafka中如下命令查询:

bin/kafka-console-consumer.sh –zookeeper localhost:2181 –topic

sparksys-log –from-beginning

查看日志filebeat中的数据是否正常在kafka中存储。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
cn/images/e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />

最后

文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: elk+kafka+filebeat 是一种常见的数据处理和分析架构。ELK指的是Elasticsearch、Logstash和Kibana,它们分别用于数据存储、数据处理和数据可视化。Kafka是一个分布式流处理平台,用于处理大量的实时数据流。Filebeat是一个轻量级的日志数据收集器,用于将日志数据发送到ELKKafka中进行处理和分析。这种架构可以帮助企业实现实时数据处理和分析,提高数据的价值和利用率。 ### 回答2: Elk(Elasticsearch,Logstash和Kibana)是一个开源的数据分析平台,其可帮助组织收集、分析、可视化并作出更明智的决策。Elk框架大致包含三个主要组成部分:Elasticsearch、Logstash和Kibana。其中,Elasticsearch是一个基于Lucene的搜索和分析引擎,Logstash是一种数据收集引擎,而Kibana则为数据可视化提供了一种界面。 Kafka 是一个分布式的消息发布订阅系统,其主要目的是为服务之间的通信提供高吞吐和低延迟的解决方案。Kafka 的核心设计思想是基于发布订阅模式,确保系统的整个数据流可以持久化存储,同时支持高效和可扩展的水平拓展。 相比之下,Filebeat 是一个轻量级的日志收集器,用于从多个服务器上收集和转发日志数据。该工具提供了一个快速且灵活的方法来读取多个日志文件,包括系统日志、应用程序日志和安全日志等。由于其轻量化的特性,Filebeat 可以提供高性能的数据收集,并消耗较少的系统资源。 底层架构上,Filebeat 可以将日志数据转发到 Kafka 以供后续处理,同时,Kafka 可以将处理完成的数据转发到 Elasticsearch 索引中,从而让 Kibana 提供友好的用户界面进行可视化和分析。在这个集成方案中,每个组件都贡献其自身的优势,从而实现了一个用于日志收集、处理、存储和展现的完整系统。 ### 回答3: Elasticsearch、Logstash、Kibana和Beats,简称ELK,是一个开源的数据收集和分析平台。随着互联网的不断发展,日志数据的产生量已经变得越来越大,ELK逐渐成为了企业处理和分析大数据的主流工具之一。其中,KafkaFilebeat则是ELK平台中重要的两个工具。 Kafka是一种高吞吐量的分布式发布-订阅消息系统,它可以处理消费者规模不断增长的数据流,实现消息的持久化、数据复制、分区和提交等功能。在ELK平台中,Kafka用于将采集过来的日志数据进行传输,具体流程如下: 首先,用Filebeat采集产生的日志数据,将数据推送到Kafka中;然后,从Kafka中取出数据,通过Logstash进行数据过滤、解析和清洗;最后,Logstash将清洗后的数据推送到Elasticsearch中进行存储和分析。 Filebeat是一个开源的轻量级数据收集工具,可以采集不同服务器上的日志数据,并将数据发送到Kafka中。Filebeat具有占用资源低、运行效率高等优点,是在ELK平台中数据采集的重要工具。 综上所述,KafkaFilebeat作为ELK平台中重要的数据收集和传输工具,可以帮助企业快速、高效地收集和分析海量的日志数据,实现企业数据的全面监控和分析,提高企业的运营效率和竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值