构建ELK+Filebeat+kafka+zookeeper大数据日志分析平台

2024-06-19 13:04

本文主要是介绍构建ELK+Filebeat+kafka+zookeeper大数据日志分析平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://blog.csdn.net/weixin_45623111/article/details/137143863?spm=1001.2014.3001.5502

在构建 ELK (Elasticsearch, Logstash, Kibana) + Filebeat + Kafka + Zookeeper 的大数据日志分析平台中,数据流向 filebeat -> logstash -> kafka -> logstash -> elasticsearch 需要配置多个组件。下面是每个组件的配置文件示例和步骤。1. Filebeat 配置
Filebeat 从日志文件读取数据并发送到 Logstash。
filebeat.yml:
复制代码
filebeat.inputs:
- type: logenabled: truepaths:- /path/to/your/logfile.logoutput.logstash:hosts: ["logstash_host:5044"]2. Logstash 配置 (第一个 Logstash)
第一个 Logstash 接收 Filebeat 的数据,进行预处理,然后发送到 Kafka。logstash.conf:
input {beats {port => 5044}
}filter {# 添加你需要的过滤器,例如 grok, mutate 等# grok {#   match => { "message" => "%{COMMONAPACHELOG}" }# }
}output {kafka {bootstrap_servers => "kafka_host:9092"topic_id => "your_log_topic"}
}
3. Kafka 配置
Kafka 和 Zookeeper 配置,确保 Kafka 集群正常工作。server.properties (Kafka):
broker.id=0
log.dirs=/path/to/kafka-logs
zookeeper.connect=zookeeper_host:2181
zookeeper.properties (Zookeeper):
dataDir=/path/to/zookeeper-data
clientPort=2181
启动 Zookeeper 和 Kafka:
# 启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties# 启动 Kafka
bin/kafka-server-start.sh config/server.properties4. Logstash 配置 (第二个 Logstash)
第二个 Logstash 从 Kafka 读取数据,进行进一步处理,然后发送到 Elasticsearch。logstash.conf:
input {kafka {bootstrap_servers => "kafka_host:9092"topics => ["your_log_topic"]group_id => "logstash_group"}
}filter {# 添加你需要的过滤器,例如 grok, mutate 等# grok {#   match => { "message" => "%{COMMONAPACHELOG}" }# }
}output {elasticsearch {hosts => ["elasticsearch_host:9200"]index => "your_index_name-%{+YYYY.MM.dd}"}
}5. Elasticsearch 配置
确保 Elasticsearch 集群正常工作。
elasticsearch.yml:
cluster.name: your_cluster_name
node.name: your_node_name
path.data: /path/to/elasticsearch-data
path.logs: /path/to/elasticsearch-logs
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["elasticsearch_host1", "elasticsearch_host2"]
cluster.initial_master_nodes: ["elasticsearch_host1", "elasticsearch_host2"]
启动 Elasticsearch:
bin/elasticsearch6. Kibana 配置
Kibana 用于可视化 Elasticsearch 中的数据。
kibana.yml:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://elasticsearch_host:9200"]
启动 Kibana:
bin/kibana
启动顺序
启动 Zookeeper:bin/zookeeper-server-start.sh config/zookeeper.properties
启动 Kafka:bin/kafka-server-start.sh config/server.properties
启动 Elasticsearch:bin/elasticsearch
启动第一个 Logstash:bin/logstash -f /path/to/first/logstash.conf
启动第二个 Logstash:bin/logstash -f /path/to/second/logstash.conf
启动 Filebeat:./filebeat -e -c filebeat.yml
启动 Kibana:bin/kibana
这样配置和启动后,你的数据流向会是 filebeat -> logstash -> kafka -> logstash -> elasticsearch,并可以通过 Kibana 进行可视化分析。

这篇关于构建ELK+Filebeat+kafka+zookeeper大数据日志分析平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075102

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda