写点什么

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

  • 2022 年 4 月 17 日
  • 本文字数:1588 字

    阅读完需:约 5 分钟

log_source: authorization


  • type: log


enabled: true


paths:


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


fields:


log_source: gateway


  • type: log


enabled: true


paths:


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


fields:


log_source: file


  • type: log


enabled: true


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: 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 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 创建并启 Java 开源项目【ali1024.coding.net/public/P7/Java/git】 动 kafka 容器

最后

整理的这些资料希望对 Java 开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。




其实面试这一块早在第一个说的 25 大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
ELK + Filebeat + Kafka 分布式日志管理平台搭建_Java_爱好编程进阶_InfoQ写作平台