filebeat + logstash 发送日志至kafka 入门

filebeat

官方文档

配置文件 filebeat.yml

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/testlog/*.log

# 由于是入门,其他配置暂且忽略 ,将读取到的日志信息,输出给logstash 
output.logstash:
  # The Logstash hosts
  hosts: ["192.168.153.129:5044"]

启动filebeat

./filebeat -e -c filebeat.yml  -d 'publish'

如果遇到下面的情况导致没法读取传输数据
在这里插入图片描述

INFO最近30秒钟内没有非零指标
我们可以删除注册表文件registry,注册表文件存储了Filebeat用来跟踪其最后读取位置的状态和位置信息

在这里插入图片描述
在这里插入图片描述
删除(备份)后,重启filebeat即可。

下边是正常工作
在这里插入图片描述

logstash

官网
第三方配置详解
常用的logstash正则表达式规则
logstash 可以对filebeat 发来的数据进行格式化或过滤,还可以发送给其他服务。

首先我们需要创建一个配置(在logstash 根目录)

vim kafka-config.conf 

由于我们这个案例输出给的是kafka,所以我们需要基本配置一下

input {
	# 这是filebeat 发送数据接收的端口
        beats {
                port => "5044"
        }

}

output {
		# kafka的配置
        kafka {

                codec => json
                topic_id => "test-logstash"
                # kafka 所在的主机及端口
                bootstrap_servers => "192.168.201.209:9092"
                batch_size => 1
        }
}

启动logstash

bin/logstash -f kafka-config.conf 

在这里插入图片描述

kafka

创建测试 topic (最好在filebeat 和 logstash 启动前创建好,并启动kafka)

# 测试的kafka我是放在windows上的 
kafka-topics.bat --create --bootstrap-server localhost:9092 --topic test-logstash

启动 kafka Tools ,查看数据
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值