如何实现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自动读取新写入的数据
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我对log stash不是很熟悉,但一般有两种做法,利用SQL Server中的数据可的标志,如果专门设计一个是否被logstash读取过的标志,或者写入日期等
如果SQL Server元数据没有,可以再读取时和已经读取过的数据做比较找出未被读物的,这样需要记录读取的历史,再比较效率不高
这个不知道符合你的要求不
仔细看了下你的需求,你是需要只读取新的内容.这个有点不好做,其实logstash读取sqlserver的磁盘和网络IO不是很大.