下文給大家帶來有關通過logstash增量采集mysql的數據內容,相信大家一定看過類似的文章。我們給大家帶來的有何不同呢?一起來看看正文部分吧,相信看完通過logstash增量采集mysql的數據你一定會有所收獲。
創新互聯從2013年開始,是專業互聯網技術服務公司,擁有項目成都網站建設、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元鞍山做網站,已為上家服務,為鞍山各地企業和個人服務,聯系電話:028-86922220最近有一項需求需要把mysql中一個表中的數據同步到es中,分析后使用logstash的jdbc插件獲取mysql中的數據,output到es中,采集的情況分兩種:開始是全量的采集,之后是增量采集。
已下式驗證的過程:
1.安裝logstash和mysql
mysql和logstash的安裝就不多說了,可以在網上自行查找。
需要注意的事項是:
1)可能需要安裝:bin/plugin install logstash-input-jdbc
2)mysql的driver下載https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz
2.創建mysql表和數據
create table test.zy ( id int, str varchar(20) ) ; insert into test.zy values('1','a1'); insert into test.zy values('2','a2'); insert into test.zy values('3','a3'); insert into test.zy values('4','a4'); insert into test.zy values('5','a5'); insert into test.zy values('6','a6'); insert into test.zy values('7','a7'); insert into test.zy values('8','a8'); insert into test.zy values('9','a9'); insert into test.zy values('10','a10'); insert into test.zy values('11','a11'); insert into test.zy values('12','a12'); insert into test.zy values('13','a13'); insert into test.zy values('14','a14'); #增量采集驗證插入的數據 insert into test.zy values('15','a15'); insert into test.zy values('16','a16');
3.logstash采集mysql的配置文件
#根據字段增量采集 input { jdbc { jdbc_connection_string => "jdbc:mysql://ip:3306/test" jdbc_user => "root" jdbc_password => "123456" jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" statement => "select * from zy where id > :sql_last_value" use_column_value => true tracking_column => "id" record_last_run => true last_run_metadata_path => "/root/test.log" schedule => "*/2 * * * *" } } output { file { path => "./mysql/test-%{+YYYY-MM-dd}.txt" } } #根據時間戳增量采集 input { jdbc { jdbc_connection_string => "jdbc:mysql://ip:port/test" jdbc_user => "root" jdbc_password => "123456" jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_default_timezone =>"Asia/Shanghai" #設置sql_last_value記錄的時間時區,不然會影響增量采集的效果 statement => "select * from zy1 where time > :sql_last_value" use_column_value => false record_last_run => true last_run_metadata_path => "/root/test.log" schedule => "*/2 * * * *" } } output { file { path => "./db2/test-%{+YYYY-MM-dd}.txt" } } input的配置解析 statement 執行myqsl的語句,也可以是statementpath 后跟sql文件的路徑 use_column_value 是否使用列值作為依據,進行上次運行位置的記錄。 如果設置為true,則使用tracking_column定義的列,作為:sql_last_value. 如果設置為false,則:sql_last_value反映的是上次SQL的運行時間。 tracking_column 增量采集依據的字段名 如果 use_colomn_value為false時,可以不寫 record_last_run 是否記錄本次采集數據的位置 last_run_metadata_path 設置記錄采集數據位置的文件 schedule sql腳本執行的頻率
4.采集驗證
啟動logstash
cd /usr/local/logstash
bin/logstash -f conf/logtash.conf
##logstash 自動加載配置文件 bin/logstash -f conf/logtash.conf --config.reload.automatic
測試logtash是否正常使用
bin/logstash -e 'input { stdin{}} output { output{}}'
測試并退出
bin/logstash -f conf/logtash.conf --config.test_and_exit
logstash采集輸出日志:
輸出文件內容查看
sql_last_value的記錄
對于上文關于通過logstash增量采集mysql的數據,大家覺得是自己想要的嗎?如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享標題:通過logstash增量采集mysql的數據-創新互聯
網址分享:http://vcdvsql.cn/article26/cdejcg.html
成都網站建設公司_創新互聯,為您提供定制開發、Google、網站收錄、自適應網站、網站設計、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯