首页 > 如何实现logstash-input-jdbc 增量读取SQLserver数据库

如何实现logstash-input-jdbc 增量读取SQLserver数据库

   我的logstash input 配置文件如下
    input {
    jdbc {
        type => "testdb"
        jdbc_driver_library => "/app/sqljdbc_6.0/enu/sqljdbc42.jar"
        jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    
        jdbc_connection_string => "jdbc:sqlserver://192.168.**.**:1433"
        jdbc_user => "******"
        jdbc_password => "**********"
     jdbc_paging_enabled => "true"
    schedule => "* * * * *"
        statement_filepath => "/app/age_config.d/sqlserver_10.1.2.37.sql"
    
     }

}

我希望,当数据库testdb有新的数据写入时,logstash自动读取新写入的数据


我对log stash不是很熟悉,但一般有两种做法,利用SQL Server中的数据可的标志,如果专门设计一个是否被logstash读取过的标志,或者写入日期等

如果SQL Server元数据没有,可以再读取时和已经读取过的数据做比较找出未被读物的,这样需要记录读取的历史,再比较效率不高


schedule => "*/1 * * * *"

这个不知道符合你的要求不

仔细看了下你的需求,你是需要只读取新的内容.这个有点不好做,其实logstash读取sqlserver的磁盘和网络IO不是很大.

【热门文章】
【热门文章】