ELK+filebeat+kafka实现日志收集

ELK+filebeat+kafka远程收集不同主机上的httpd、mysql 日志实验

****实验目的:****远程收集日志,高并发情况下流量削峰,异步通信

实验条件:

|--------|-----------|------------------|-----------------------------------------------|------|---------------------|
| 主机名 | IP地址 | 作用 | 组件 | 硬件 | 集群 |
| test1 | 20.0.0.10 | 异步通信 流量削峰 ...... | zookeeper+kafka(3.4.1版本) | 4核8G | zookeeper + kafka集群 |
| test2 | 20.0.0.20 | 异步通信 流量削峰 ...... | zookeeper+kafka(3.4.1版本) | 2核4G | zookeeper + kafka集群 |
| test3 | 20.0.0.30 | 异步通信 流量削峰 ...... | zookeeper+kafka(3.4.1版本) | 2核4G | zookeeper + kafka集群 |
| EKL1 | 20.0.0.15 | 过滤日志 | logstash+kibana | 2核4G | ELK集群 |
| ELK2 | 20.0.0.25 | es服务器 | ES+node+phantomjs+elasticsearch-head-master组件 | 2核4G | ELK集群 |
| ELK3 | 20.0.0.35 | es服务器 | ES+node+phantomjs+elasticsearch-head-master组件 | 2核4G | ELK集群 |
| nginx1 | 20.0.0.11 | 提供nginx | nginx+filebeat服务 | 2核4G | |
| mysql1 | 20.0.0.13 | 提供nginx | mysql+filebeat服务 | 2核4G | |

数据流向:filebeat--->kafka--->logstash--->ES--->kibana

-> filebeat收集日志传输给kafka;

-> kafka创建主题,日志存储在主题的分区里;

-> 然后传输给es集群,存储日志数据;

-> 用户访问图形化界面获取日志

实验步骤:

1、搭建ELK集群【注意服务器IP地址】

2、搭建zookeeper+kafka集群【注意服务器IP地址】

3、安装filebeat

4、查看nginx和mysql的日志路径

(1)mysql

vim /etc/my.cnf

打开mysql 的日志转发功能

general_log=ON

general_log_file=/usr/local/mysql/data/mysql_general.log

(2)nginx

5、分别在nginx服务器和mysql服务器上修改filebeat配置文件

vim /opt/filebeatfilebeat.yml

赋权日志文件

6、启动filebeat

nohup ./filebeat -e -c filebeat.yml > filebeat.out &

若无法启动filebeat,则tail -f filebeat.out查看日志

7、在安装logstash的服务器上创建conf文件

运行logstash的conf文件

logstash -f system.conf --path.data /opt/test2 &

8、查看主题

kafka-topics.sh --list --bootstrap-server 20.0.0.10:9092,20.0.0.20:9092,20.0.0.30:9092

9、消费消息

kafka-console-consumer.sh --bootstrap-server 20.0.0.10:9092,20.0.0.20:9092,20.0.0.30:9092 --topic mysql

10、访问nginx、mysql服务,查看索引

再查看消费消息

相关推荐
阿里云云原生5 天前
数据链路再精简:Kafka 如何做到“零 ETL”一键写入 Apache Iceberg?
kafka
阿里云云原生11 天前
告别冗长链路!Kafka × Table Bucket 实现开放表格式零 ETL 实时入湖
云原生·kafka
风吹夏回17 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回17 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
霸道流氓气质17 天前
分布式追踪与 RequestId 传播完全指南
分布式
cheems952717 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
whaledown17 天前
Kafka 与 Java 消息队列入门:用订单场景理解核心机制
java·kafka·消息队列·springboot
枫华落尽17 天前
【Hadoop01-完全分布式运行模式】
分布式
隔壁阿布都17 天前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
文艺倾年17 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding