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 hostshosts: ["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 => jsontopic_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 ,查看数据