对多个文件使用 sql_last_value:Logstash
Use sql_last_value for more than one file: Logstah
我有一个来自 logstash
的 jdbc 配置文件
statement => "SELECT * from TEST where id > :sql_last_value"
其中包括上述查询。
假设我有 2 个或更多 conf 文件,如何区分我的 sql_last_value?
我可以给一个别名来区分它们吗?怎么样?
想法是在每个配置文件中配置不同的last_run_metadata_path
值。例如:
配置文件1:
input {
jdbc {
...
last_run_metadata_path => "/Users/me/.logstash_jdbc_last_run1"
...
}
}
配置文件2:
input {
jdbc {
...
last_run_metadata_path => "/Users/me/.logstash_jdbc_last_run2"
...
}
}
@Val 的回答是实现各种 .logstash_jdbc_last_run 文件的正确方法。
除此之外,我想给你一些关于在同一管道中实现多个 jdbc 输入插件的提示:
您需要记住,当一个输入插件抛出一些错误(例如查询不正确,数据库用户没有授权等)时,整个管道将停止——不仅是相应的输入插件。这意味着您可以阻止您的其他输入插件(它可能运行良好)。
因此,避免这种情况的一种常见方法是仅使用一个 jdbc 输入插件指定多个管道。然后您可以决定是否要复制其余插件(过滤器和输出)或使用管道输出插件将传入请求发送到中央处理管道。
我有一个来自 logstash
的 jdbc 配置文件statement => "SELECT * from TEST where id > :sql_last_value"
其中包括上述查询。
假设我有 2 个或更多 conf 文件,如何区分我的 sql_last_value?
我可以给一个别名来区分它们吗?怎么样?
想法是在每个配置文件中配置不同的last_run_metadata_path
值。例如:
配置文件1:
input {
jdbc {
...
last_run_metadata_path => "/Users/me/.logstash_jdbc_last_run1"
...
}
}
配置文件2:
input {
jdbc {
...
last_run_metadata_path => "/Users/me/.logstash_jdbc_last_run2"
...
}
}
@Val 的回答是实现各种 .logstash_jdbc_last_run 文件的正确方法。
除此之外,我想给你一些关于在同一管道中实现多个 jdbc 输入插件的提示:
您需要记住,当一个输入插件抛出一些错误(例如查询不正确,数据库用户没有授权等)时,整个管道将停止——不仅是相应的输入插件。这意味着您可以阻止您的其他输入插件(它可能运行良好)。
因此,避免这种情况的一种常见方法是仅使用一个 jdbc 输入插件指定多个管道。然后您可以决定是否要复制其余插件(过滤器和输出)或使用管道输出插件将传入请求发送到中央处理管道。