Logstash配置多張表和多個資料來源

2021-09-29 01:49:40 字數 1556 閱讀 6320

配置多個資料來源和不同的表訪問多個配置

解決問題: 資料已經匯入完成 logstash還一直迴圈匯入資料(定時器設定時間有點短 )

同步資料兩種方案:方案一 每一次同步都是從頭同步的

1.clean_run =>true就好了

2.schedule => 「* * * * " (根據你的業務需求看定多長時間比較合適) 要是想使用每分鐘執行一次 schedule => "/1 * * * *」 表示每分鐘執行一次

schedule => 「1 * * * *」 表示每小時的第一分鐘執行一次

方案一配置完成了 .sql檔案不需要新增where goods_id(tracking_column裡面的列) > :sql_last_value

方案二 下面這種方式 (從上次匯入的資料開始重新匯入新的資料)但是有乙個弊端就是 已經匯入的資料不重新匯入 如果資料庫刪除一部分已經匯入過的資料的時候就會導致資料庫中的資料和es中的資料不相同了

注意:要想配置從上次同步資料向後匯入資料需要注意幾點

1.clean_run => false(一定要是false)

2.use_column_value => true(表示使用資料庫中的列作為標誌)

3.tracking_column => 資料庫中增量的列名 (資料庫中的列 例如id 或者時間的列)

4. record_last_run => true(是否要記錄上次匯入資料的增量的資料)

5.last_run_metadata_path => 「自己建立乙個檔案的位址」 (作用使用來儲存上次匯入資料的位置)

jdbc.sql檔案中需要新增 where goods_id(tracking_column裡面的列) > :sql_last_value

select * from tb_goods where goods_id > :sql_last_value

input 

jdbc

jdbc

}#在資料庫匯入到es中的資料的時候 es會自動建立出一些字段就是下面的這幾個字段 要是不想要這幾個欄位就新增過濾器

filter

}output "

"document_type"

=>

"%"}}if

[type]

=="tb_usertest02"

""document_type"

=>

"%"}

} stdout

}

要是想配置乙個庫乙個表的話就刪除乙個jdbc

和if 這一層好了

elasticsearch "

"document_type"

=>

"%"}

logstash 配置多個conf和配置增量更新

參考 logstash可以配置多個pipeline,每乙個pipeline設定不同的引數,包括讀取的conf 也可以配置乙個pipeline,讀取多個conf,其讀取多個conf,實際上是把它們合併一起,所以,conf裡面需要寫上type,通過type來判斷寫入那個索引。logstash.yml的配...

配置中心的基本配置和多環境配置

restcontroller public class samplecontroller private string signname public r testsingname 測試 使用 configurationproperties讀取配置資訊 restcontroller public c...

儲存過程 迴圈建立多張表 和 多個資料庫

建立所有資料庫 呼叫 call create databases znke z log 0,128 引數說明 1 要建立的資料庫字首 2 目標資料庫字尾最小數 3 目標資料庫字尾最大數 資料庫總數量 create procedure create databases in db pre varcha...