[英]Syncing the data from mongoDB to elasticsearch using Logstash
[英]Appending data from MongoDB into log files being processed by Logstash and parsed into Elasticsearch
抱歉,標題真的無法用一句話來解釋。
這是我的情況:
為了使事情更清楚,這是一個粗糙的例子。 假設我有原始日志:
2017-11-20 14:24:14.011 123 log_number_one
在將解析的日志發送到Elasticsearch之前,我想用123
查詢我的MongoDB集合,並獲取數據data1
和data2
追加到要發送到Elasticsearch的文檔中,因此我的最終結果將具有類似於以下內容的字段:
{
timestamp: 2017-11-20 14:24:14.011,
serial: 123,
data1: "foo",
data2: "bar",
log: log_number_one
}
我認為,更簡單的方法是對日志進行預處理,然后通過MongoDB運行數字,然后再通過Logstash解析它們。 但是,看起來好像我有4GB的日志文件一樣,我希望能以一種方式實現這一目標。 我想知道我的邊緣情況是否可以通過ruby過濾器插件解決,我可以在其中運行一些任意的ruby代碼來執行上述操作?
任何幫助/建議將不勝感激!
彈性團隊成員Christian_Dahlqvist的回答(所有功勞歸他所有):
根據記錄的數量和MongoDB中數據的總大小(假設它是一個合理大小的數據集),您可以將數據提取到文件中,其中每個序列號都與數據中的字符串表示形式相關聯。 JSON形式。 然后,您可以使用轉換過濾器根據序列號使用序列化的JSON填充字段,然后使用子過濾器對此進行解析並將其添加到事件中。
參考: https : //discuss.elastic.co/t/appending-data-from-mongodb-into-log-files-being-processed-by-logstash-and-parsed-into-elasticsearch/92564/2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.