查看是否已安裝gem:gem -v
如未安裝,請安裝:yum install gem
安裝完成查看一下版本號:gem -v
查看當前鏡像源:gem sources -l
顯示https://rubygems.org/時,請更改鏡像源,更改之前需要刪除該源:gem sources --remove https://rubygems.org/
添加可以使用的鏡像源:gem sources -a https://gems.ruby-china.com (當前可以使用該源)
查看更改鏡像源是否成功:gem sources -l
成功時候,可以進行一下操作,安裝logstash-jdbc
在logstatsh的安裝目錄下的bin目錄中:./logstash-plugin list --verbose 查看當前安裝的logstash可以使用的logstash-jdbc的版本號
在該目錄下執行安裝:./logstash-plugin install logstash-input-jdbc
等待安裝,該過程有些緩慢。
測試:
需要有MySQL驅動包(mysql-connector-java)版本不限。放在logstash安裝根目錄下即可
編寫測試文件:在logstash根目錄下/config-mysql/logstash-jdbc-mysql.conf
內容:
input {
stdin {
}
jdbc {
# 數據庫
jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
# 用戶名密碼
jdbc_user => "root"
jdbc_password => "123456"
# jar包的位置
jdbc_driver_library => "/home/elasticsearch/logstash/mysql-connector-java-5.1.30.jar"
# mysql的Driver
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#statement_filepath => "config-mysql/test02.sql"
statement => "select * from test"
schedule => "* * * * *"
#索引的類型
type => "id"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => "elasticsearch服務器IP:9200"
# index名
index => "id"
# 需要關聯的數據庫中有有一個id字段,對應索引的id號
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
進行測試:./bin/logstash -f config-mysql/logstash-jdbc-mysql.conf
等待數據庫中的數據被讀取出來,然後加載進索引。