Logstash实时读取SQL Server数据

时间:2019-02-06 21:10:45

标签: elasticsearch logstash elastic-stack

有什么方法可以配置logstash,以便它可以自动实时获取增量记录。如果没有,那么有没有可用的开源插件/工具来实现这一目标?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试对MSSQL服务器进行以下配置。您需要像下面这样通过添加计划周期来计划它,该语句将使查询从数据库中获取数据。

input {
  jdbc { 
    jdbc_connection_string => "jdbc:sqlserver://localhost:1433;databaseName=test"
    # The user we wish to execute our statement as
    jdbc_user => "sa"
    jdbc_password => "sasa"
    # The path to our downloaded jdbc driver
    jdbc_driver_library => "C:\Users\abhijitb\.m2\repository\com\microsoft\sqlserver\mssql-jdbc\6.2.2.jre8\mssql-jdbc-6.2.2.jre8.jar"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    #clean_run => true
    schedule => "* * * * *"
    #query
    statement => "SELECT * FROM Student where studentid > :sql_last_value"
    use_column_value => true
    tracking_column => "studentid"
    }
}

output {
  #stdout { codec => json_lines }
  elasticsearch {
  "hosts" => "localhost:9200"
  "index" => "student"
  "document_type" => "data"
  "document_id" => "%{studentid}"
  }
}