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

时间:2024-10-05 13:30:05

log_source: authorization

  • type: log

enabled: true

paths:

  • /var/logs/springboot/

fields:

log_source: gateway

  • type: log

enabled: true

paths:

  • /var/logs/springboot/

fields:

log_source: file

  • type: log

enabled: true

paths:

  • /var/logs/springboot/

fields:

log_source: oauth

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

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

#:

Array of hosts to connect to.

hosts: [“192.168.3.3:9200”]

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

#:

The Logstash hosts

hosts: [“logstash:5044”]

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

:

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变动

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

配置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]}-%{+}”

}

}

上述配置说明如下:

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

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

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

[](()2.2 kafka搭建

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

[](()2.2.1 新建

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

配置如下:

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开源项目【/public/P7/Java/git】 动kafka容器

最后

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

image

image

其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣
友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

[外链图片转存中…(img-AizniG3D-1650170322320)]

[外链图片转存中…(img-wi8LCyaE-1650170322321)]

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