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 ,查看数据