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