https://www.elastic.co/products/logstashjava
1、下载shell
https://download.elastic.co/logstash/logstash/logstash-1.5.6.zip测试
2、安装,启动spa
[root@hftest0001 opt]# pwd /opt [root@hftest0001 opt]# ll ... -rw------- 1 root root 89916973 Jan 14 03:03 logstash-1.5.6.tar.gz ... [root@hftest0001 opt]# tar -zxvf logstash-1.5.6.tar.gz [root@hftest0001 logstash-1.5.6]# pwd /opt/logstash-1.5.6 修改JAVA_HOME [root@hftest0001 logstash-1.5.6]# vi bin/logstash ... export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera ... 添加conf [root@hftest0001 logstash-1.5.6]# mkdir conf [root@hftest0001 logstash-1.5.6]# vi conf/input_file-output_file.conf input { file{ path => [ "/opt/logstash-data/input/1.log" ] } } output{ file { path => ["/opt/logstash-data/output/1.log"] } } [root@hftest0001 logstash-1.5.6]# mkdir -p /opt/logstash-data/{input,output} [root@hftest0001 logstash-1.5.6]# touch /opt/logstash-data/input/1.log 启动 [root@hftest0001 logstash-1.5.6]# ./bin/logstash -f conf/ 测试 [root@hftest0001 logstash-1.5.6]# echo "1" >> /opt/logstash-data/input/1.log
3、多配置文件code
配置文件分段。即把input,filter,output分红不一样的文件。orm
A.一个input 一个outputip
[root@hftest0001 logstash-1.5.6]# rm -rf ./conf/* [root@hftest0001 logstash-1.5.6]# vi conf/input_file.conf input { file { path => [ "/opt/logstash-data/input/1.log" ] } } [root@hftest0001 logstash-1.5.6]# vi conf/output_file.conf output{ file { path => ["/opt/logstash-data/output/1.log"] } } [root@hftest0001 logstash-1.5.6]# ./bin/logstash -f conf/ 测试 [root@hftest0001 logstash-1.5.6]# echo "1" >> /opt/logstash-data/input/1.log 结果 [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1
B 两个input(两个input是彻底同样的) 一个outputget
[root@hftest0001 logstash-1.5.6]# rm -rf ./conf/* [root@hftest0001 logstash-1.5.6]# vi conf/input_file.conf input { file { path => [ "/opt/logstash-data/input/1.log" ] } } [root@hftest0001 logstash-1.5.6]# vi conf/input_file2.conf input { file { path => [ "/opt/logstash-data/input/1.log" ] } } [root@hftest0001 logstash-1.5.6]# vi conf/output_file.conf output{ file { path => ["/opt/logstash-data/output/1.log"] } } [root@hftest0001 logstash-1.5.6]# ./bin/logstash -f conf/ 测试 [root@hftest0001 logstash-1.5.6]# echo "1" >> /opt/logstash-data/input/1.log 注意注意!!!!结果 [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 继续添加数据 [root@hftest0001 logstash-1.5.6]# echo "2" >> /opt/logstash-data/input/1.log [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 1 2 =>变成了三条数据,即咱们能够看出,两个input分别产生了一条数据。为何没有两个2呢?此时kill logstash 后, [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 1 2 2
C 两个input(两个input是不同的) 一个outputinput
[root@hftest0001 logstash-1.5.6]# rm -rf ./conf/* [root@hftest0001 logstash-1.5.6]# vi conf/input_file.conf input { file { path => [ "/opt/logstash-data/input/1.log" ] } } [root@hftest0001 logstash-1.5.6]# vi conf/input_file2.conf input { file { path => [ "/opt/logstash-data/input/2.log" ] } } [root@hftest0001 logstash-1.5.6]# vi conf/output_file.conf output{ file { path => ["/opt/logstash-data/output/1.log"] } } [root@hftest0001 logstash-1.5.6]# ./bin/logstash -f conf/ 测试 [root@hftest0001 logstash-1.5.6]# echo "1" >> /opt/logstash-data/input/1.log 结果 [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 继续添加数据 [root@hftest0001 logstash-1.5.6]# echo "2" >> /opt/logstash-data/input/2.log [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 2
D 一个input 两个output(两个output彻底同样)it
[root@hftest0001 logstash-1.5.6]# rm -rf ./conf/* [root@hftest0001 logstash-1.5.6]# vi conf/input_file.conf input { file { path => [ "/opt/logstash-data/input/1.log" ] } } [root@hftest0001 logstash-1.5.6]# vi conf/output_file.conf output{ file { path => ["/opt/logstash-data/output/1.log"] } } [root@hftest0001 logstash-1.5.6]# vi conf/output_file2.conf output{ file { path => ["/opt/logstash-data/output/1.log"] } } [root@hftest0001 logstash-1.5.6]# ./bin/logstash -f conf/ 测试 [root@hftest0001 logstash-1.5.6]# echo "1" >> /opt/logstash-data/input/1.log 注意注意!!!结果 即同一条消息被两个output都写入相同文件 [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 1 继续添加数据 [root@hftest0001 logstash-1.5.6]# echo "2" >> /opt/logstash-data/input/2.log [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 1 2 2
E 一个input 两个output(两个output不同)
[root@hftest0001 logstash-1.5.6]# rm -rf ./conf/* [root@hftest0001 logstash-1.5.6]# vi conf/input_file.conf input { file { path => [ "/opt/logstash-data/input/1.log" ] } } [root@hftest0001 logstash-1.5.6]# vi conf/output_file.conf output{ file { path => ["/opt/logstash-data/output/1.log"] } } [root@hftest0001 logstash-1.5.6]# vi conf/output_file2.conf output{ file { path => ["/opt/logstash-data/output/2.log"] } } [root@hftest0001 logstash-1.5.6]# ./bin/logstash -f conf/ 测试 [root@hftest0001 logstash-1.5.6]# echo "1" >> /opt/logstash-data/input/1.log 注意注意!!!结果 即同一条消息分别被两个output写入不一样文件 [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/2.log 1 继续添加数据 [root@hftest0001 logstash-1.5.6]# echo "2" >> /opt/logstash-data/input/2.log [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/1.log 1 2 [root@hftest0001 logstash-1.5.6]# cat /opt/logstash-data/output/2.log 1 2
F 一个Input,要被写入不一样的