本文实现是在windows环境下
filebeat和kafka的安装
Windows下Filebeat安装:
下载安装包 :下载地址 解压到指定目录
打开解压后的目录,打开filebeat.yml进行配置。
配置 Filebeat prospectors->path 这里的路径是所要收集日志的路径
filebeat.prospectors:
- input_type: log
# Paths that should be crawled and fetched. Glob based paths.
paths:
- D:\\workspace_relay\\filebeat-5.6.0-windows-x86_64\\logs/*.log
配置 enabled: true 配置为true之后配置才可生效,否则不起作用。
配置Outputs ,这里的Outputs有elasticsearch,logstash,kafak。
output.kafka:
# Array of hosts to connect to.
enabled: true
hosts: ["192.168.87.1:9092"]
topic: test
topic是自己在kafka上创建的主题,如果没有的话会自动创建一个名为test的主题。这里的输出将作为kafka的生产者,将日志文件输出到kafka的topic下名为test的文件目录下。
打开刚才解压目录 按住ctrl+shift 并同时鼠标右键打开cmd窗口执行命令
.\filebeat -e -c filebeat.yml 就可以启动filebeat
启动成功加载日志目录下的123.log文件:
Windows下kafak的安装:
安装kafak之前要求有jdk以及zookeeper的环境,
1.下载地址:kafka下载 要下载Binary downloads这个类型(二进制类型),不要下载源文件,为了方便使用。下载后,解压放在D:\workspace_relay目录下。目录可以自己定义。
进入kafka配置文件所在目录,D:\workspace_relay\kafka_2.12-2.3.0
编辑文件"server.properties",找到并编辑:
log.dirs=/tmp/kafka-logs to log.dirs=D:\workspace_relay\kafka_2.12-2.3.0\kafka-logs 或者 D:\workspace_relay\kafka_2.12-2.3.0\kafka-logs
路径要么是"/“分割,要么是转义字符”\",这样会生成正确的路径(层级,子目录)。
在server.properties文件中,zookeeper.connect=localhost:2181代表kafka所连接的zookeeper所在的服务器IP以及端口,可根据需要更改。
添加kafka服务端口port=9092
kafka会按照默认配置,在9092端口上运行,并连接zookeeper的默认端口2181。
Kafka的运行
在运行kafka之前,确保已经启动了zookeeper的服务器,
A.进入kafka安装目录D:\workspace_relay\kafka_2.12-2.3.0
B.按下shift+鼠标右键,选择"在此处打开命令窗口",打开命令行。
C.在命令行中输入:.\bin\windows\kafka-server-start.bat .\config\server.properties 回车。
创建主题:
创建主题,命名为"test",replicationfactor=1(因为只有一个kafka服务器在运行)。可根据集群中kafka服务器个数来修改replicationfactor的数量,以便提高系统容错性等。
在D:\workspace_relay\kafka_2.12-2.3.0\bin\windows目录下打开新的命令行
输入命令:
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
创建生产者与消费者:
在D:\workspace_relay\kafka_2.12-2.3.0\bin\windows目录下打开新的命令行。
输入命令,启动producer:
kafka-console-producer.bat --broker-list localhost:9092 --topic test
该窗口不要关闭。
同样在该目录下打开新的命令行。
输入命令,启动consumer:
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
启动成功
加载的日志属性说明
@timestamp:消息发送时间
beat:Filebeat运行主机和版本信息
input_type:input类型
message:原始日志内容
offset:此条消息在原始日志文件中的offset
source:日志文件