简介:
部署安装:
检查jdk环境,要求jdk1.8+
java -version
解压安装包
tar -zxvf logstash-6.5.4.tar.gz
第一个logstash示例,进入解压目录执行:
bin/logstash -e 'input { stdin { } } output { stdout {} }'
执行成功后会等待我们输入,这里输入hello
配置详解:
Logstash的配置有三部分,如下:
输入:
输出:
读取自定义日志:
前面我们通过Filebeat读取了nginx的日志,如果是自定义结构的日志,就需要读取处理后才能使用,所以,这个时候就需要使用Logstash了,因为Logstash有着强大的处理能力,可以应对各种各样的场景。
日志结构:
2019-03-15 21:21:21|ERROR|读取数据出错|参数:id=1002
可以看到,日志中的内容是使用“|”进行分割的,使用,我们在处理的时候,也需要对数据做分割处理。
编写配置文件:名字自己起
input { file { path => "/fan/beats/logs/app.log" start_position => "beginning" } } filter { mutate { split => {"message"=>"|"} } } output { stdout { codec => rubydebug } }
启动测试,输出到控制台:
./bin/logstash -f ./fan-pipeline.conf
另开一个窗口,cd到指定目录,写日志到文件
echo "2020-03-27 17:21:54|ERROR|读取数据出错|参数:id=1002" >> app.log
输出结果
输出到Elasticsearch:
修改fan-pipeline.conf配置文件
启动
./bin/logstash -f ./fan-pipeline.conf
写入数据
echo "2019-03-15 21:21:21|ERROR|读取数据出错|参数:id=1003" >> app.log