項目需要,使用logstash定時讀取log文件,並插入mysql數據庫中,output使用logstash-output-jdbc插件。該插件不是默認安裝的,需要使用命令:bin/logstash-plugin install logstash-output-jdbc去官方拉取。在不聯網的電腦上,這種方法就不可行了,解決:在可聯網的電腦安裝完這個插件后,把整個logstash文件夾拷貝到無法聯網的電腦。
jdbc插件依賴mysql-connector-java-5.1.41-bin.jar包,下載后放到任一目錄下,並在output里寫明
output{
jabc{
driver_jar_path => "jar報完整路徑"
driver_class => "com.mysql.jdbc.Driver"
connection_string => "jdbc:mysql://ip:3306//DBName?autoReconnect=true&usrSSL=true&user=username&password=pwd"
statement => ["insert into table(column1,column2) values(?,?)","%{[message][1]}","%{[message][2]}"]
}
}
(拷貝后,運行bin/logstash -f test.conf時可能提示注冊插件失敗,再次運行bin/logstash-plugin install --no-verify logstash-output-jdbc偶爾可以解決該問題,暫不明原因)
注:logstash版本為5.2.2,需要jdk1.8。
參考
https://github.com/theangryangel/logstash-output-jdbc
https://www.elastic.co/guide/en/logstash/current/index.html