【Logstash 1.5.6】

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,要被寫入不一樣的

相關文章
相關標籤/搜索