本文实现是在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文件:

filebeat 收集java filebeat采集日志到kafka_zookeeper

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

启动成功

filebeat 收集java filebeat采集日志到kafka_命令行_02


加载的日志属性说明

@timestamp:消息发送时间

beat:Filebeat运行主机和版本信息

input_type:input类型

message:原始日志内容

offset:此条消息在原始日志文件中的offset

source:日志文件