我想從oracle導入數據並希望將導入數據的參數之一傳遞給彈性搜索以獲取其他一些細節。從logstash連接到彈性搜索的問題在輸入中
對於例如: - 如果我有一個員工ID,我從oracle數據庫獲得100比說,我想通過所有這100個員工id到彈性搜索並獲得emp名稱和工資。
我現在能夠從oracle檢索數據,但無法連接到彈性搜索。另外我不確定什麼是更好的方法來做到這一點。
我使用日誌隱藏2.3.3和彈性搜索日誌隱藏過濾器插件。
input {
jdbc {
jdbc_connection_string => "jdbc:oracle:thin:@<dbhost>:<port>:<sid>"
# The user we wish to execute our statement as
jdbc_user => 「user"
jdbc_password => 「pass"
# The path to our downloaded jdbc driver
jdbc_driver_library => 「<path>"
# The name of the driver class for oracle
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
# our query
statement => "SELECT empId, desg from Employee"
}
elasticsearch {
hosts => "https://xx.corp.com:9200"
index => 「empdetails」
}
}
output {
stdout { codec => json_lines }
}
由於彈性搜索,我得到下面的錯誤。
插件有一個不可恢復的錯誤。將重新啓動這個插件。
插件:[「https://xx.corp.com:9200」],index =>「empdetails」,query =>「empId:'1001'」,codec =>「UTF-8」>,scan => true,size => 1000, scroll =>「1m」,docinfo => false,docinfo_target =>「@ metadata」,docinfo_fields => [「_ index」,「_type」,「_id」],ssl => false>
錯誤:[401 ] {:級別=>:錯誤}
我可以得到上述錯誤修正,現在我能夠從彈性搜索中獲取數據。但是,任何人都可以給我任何指示,告訴我如何從jdbc傳遞數據並從彈性搜索中獲取相應的數據。我很新的日誌存儲,因此任何信息非常感謝。 – LookingForSolution
更新了代碼如下 - elasticsearch { SSL =>真 \t主機=> 「xx.corp.com:9200」 \t指數=> 「empdetails」 \t查詢=>「{ 「查詢」:{「匹配「:{」empId「:」1001「}}}' \t user =>」admin「 \t password =>」admin「 } – LookingForSolution