logstash增量讀取mysql中的數據到es中

在工作中,需要把mysql中的數據寫入到es中進行分析;

官方文檔:https://www.elastic.co/guide/en/logstash/6.3/plugins-inputs-jdbc.html

下面是配置方法:

input {
    jdbc {
        #數據庫驅動路徑
        jdbc_driver_library => "/data/mysql-connector-java-5.1.41-bin.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        #數據庫連接相關配置
        jdbc_connection_string => "jdbc:mysql://10.10.10.10:3306/test"
        jdbc_user => "root"
        jdbc_password => "123456"
        #任務計劃,多久執行一次,在此每5分鐘執行一次
        schedule =>"*/5 * * * *"
        #啓用追蹤,如果爲true,則需要指定tracking_column,默認是timestamp
        use_column_value => true
        #指定追蹤的字段,在此我設置的追蹤的字段爲id
        tracking_column => id
        #是否將字段名稱轉小寫,當字段已經爲小寫時,不用此項
        lowercase_column_names => false
        #追蹤字段的類型,目前只有數字(numeric)和時間類型(timestamp),默認是數字類型
        tracking_column_type => "numeric"
        #記錄最後一次運行的結果
        record_last_run => true
        #上面運行結果的保存位置
        last_run_metadata_path => "/data/jdbc-position.txt"
        #執行的語句,也可以通過statement_filepath指定sql的文件
        statement => "SELECT * FROM student where id > :sql_last_value"
        #statement_filepath => "/data/test.sql"
    }
}
filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}
output {
    #輸出到控制檯進行調試,也可以寫到kafka或者es中
    stdout { codec => rubydebug }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章