Logstash加载Oracle增量与全量同步双配置后无执行反应问题
Logstash多配置文件启动无执行动作问题排查与解决
核心问题:配置语法错误
你拆分的delta.conf和full.conf中,JDBC输入模块的schedule配置行末尾都存在多余的双引号,这会导致Logstash解析配置失败,启动后无法执行任何同步任务。
错误代码示例(delta.conf中):
schedule => "*/15 * * * *" " # 此处多余的双引号破坏了语法结构
修正方法
删除两个配置文件中JDBC块内schedule行后的多余双引号,修正后的delta.conf JDBC输入部分:
input { jdbc { jdbc_driver_library => "<path>/ojdbc10.jar" jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver" jdbc_connection_string => "connection string" jdbc_user => <username> jdbc_password => <pwd> statement => "SELECT * FROM my table name WHERE last_modified_date >= :sql_last_value" schedule => "*/15 * * * *" # 移除末尾多余双引号 } }
full.conf的JDBC输入部分同理,删除schedule => "0 0 * * *"后的多余双引号。
额外优化建议
- 确保增量同步生效:在delta.conf的JDBC输入中添加以下配置,明确跟踪
last_modified_date字段,避免默认逻辑导致的全量重复同步:
use_column_value => true tracking_column => "last_modified_date" tracking_column_type => "timestamp"
简化配置:两个配置的output块中重复配置了
document_id,删除其中一处即可。规范tag命名:将tag名称
$FULL_IMPORT_RUNNING改为FULL_IMPORT_RUNNING(去掉$符号),避免特殊字符引发潜在问题。
验证启动
修正语法错误后,使用原命令启动即可正常运行:
./logstash -f ../config/delta.conf -f ../config/full.conf
内容的提问来源于stack exchange,提问作者Geo Thomas
相关产品推荐
相关产品推荐

