Logstash是一款輕量級的日志搜集處理框架,可以方便的把分散的、多樣化的日志搜集起來,並進行自定義的處理,然后傳輸到指定的位置,比如某個服務器或者文件
Windows環境:
1、下載logstash
地址: https://www.elastic.co/cn/downloads/logstash
2、下載: mysql-connector-java.jar
在logstash目錄下創建一個mysql目錄,把驅動文件放進去。
2、修改配置文件
在安裝目錄下,創建新的配置文件,命名為:mysqltoes.conf
這個文件名可以換成其他的,啟動時腳本命令改成對應的就可以了。
在文件中加入以下內容:
input { # 多張表的同步只需要設置多個jdbc的模塊就行了 jdbc { # mysql 數據庫鏈接,shop為數據庫名 jdbc_connection_string => "jdbc:mysql://數據庫IP地址:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC" # 用戶名和密碼 jdbc_user => "root" jdbc_password => "" # 驅動 jdbc_driver_library => "E:/DevelopEnvironment/Logstash/logstash-7.2.0/mysql/mysql-connector-java-8.0.16.jar" # 驅動類名 jdbc_driver_class => "com.mysql.jdbc.Driver" #是否分頁 jdbc_paging_enabled => "true" jdbc_page_size => "50000" #直接執行sql語句 statement =>"select * from employee" # 執行的sql 文件路徑+名稱 # statement_filepath => "/hw/elasticsearch/logstash-6.2.4/bin/test.sql" #設置監聽間隔 各字段含義(由左至右)分、時、天、月、年,全部為*默認含義為每分鍾都更新 schedule => "* * * * *" # 索引類型 #type => "jdbc" } } output { elasticsearch { #es的ip和端口 hosts => ["http://ip:9200"] #ES索引名稱(自己定義的) index => "blog" #文檔類型 document_type => "log" #設置數據的id為數據庫中的字段 document_id => "%{id}" } stdout { codec => json_lines } }
需要配置好:
數據庫地址、數據庫賬號密碼、數據庫驅動路徑、查詢語句、定時掃描時間
es地址、索引、類型、主鍵字段
配置好后,打開cmd窗口,敲入啟動命令:bin\logstash.bat -f config\mysqltoes.conf 如下圖所示:
如果找不到文件,請檢查命令路徑,以及文件名稱。
運行成功: