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

发布于 2022-09-02 21:08:35 字数 618 浏览 13 评论 0

   我的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自动读取新写入的数据

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

霓裳挽歌倾城醉 2022-09-09 21:08:35

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

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

离鸿 2022-09-09 21:08:35
schedule => "*/1 * * * *"

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文