elasticsearch - 需要说明Logstash配置中使用的sql_last_value

标签 elasticsearch logstash logstash-configuration logstash-jdbc

大家好,我正在使用下面的代码从MSSql服务器索引数据到elasticsearch,但我不清楚此sql_last_value。

input {
jdbc {
jdbc_driver_library => ""
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://xxxx:1433;databaseName=xxxx;"
jdbc_user => "xxxx"
jdbc_paging_enabled => true
tracking_column => modified_date
tracking_column_type => "timestamp"
use_column_value => true
jdbc_password => "xxxx"
clean_run => true
schedule => "*/1 * * * *"
statement => "Select * from [dbo].[xxxx] where modified_date >:sql_last_value"
}
}

filter {
if [is_deleted] {
        mutate {    
            add_field => {
                "[@metadata][elasticsearch_action]" => "delete"
            }
        }
        mutate {
            remove_field => [ "is_deleted","@version","@timestamp" ]
        }
    } else {
        mutate {    
            add_field => {
                "[@metadata][elasticsearch_action]" => "index"
            }
        }
        mutate {
            remove_field => [ "is_deleted","@version","@timestamp" ]
        }
    } 
}

output {
elasticsearch {
hosts => "xxxx"
user => "xxxx"
password => "xxxx"
index => "xxxx"
action => "%{[@metadata][elasticsearch_action]}"
document_type => "_doc"
document_id => "%{id}"

}
stdout { codec => rubydebug }
}

此sql_last_value的存储位置以及如何进行物理查看?
是否可以将自定义值设置为sql_last_value?

请问有人可以澄清以上查询吗?

最佳答案

sql_last_value存储在名为.logstash_jdbc_last_run的文件中,根据docs它将存储在$HOME/.logstash_jdbc_last_run中。该文件本身包含上次运行的时间戳,可以将其设置为特定值。

您应该为每个单个last_run_metadata_path定义jdbc_input_plugin参数,并指向一个更特定的位置,因为所有正在运行的jdbc_input_plugin实例默认情况下将共享同一.logstash_jdbc_last_run文件,并有可能导致不良结果。

关于elasticsearch - 需要说明Logstash配置中使用的sql_last_value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59856911/

相关文章:

elasticsearch - 无法在Elasticsearch中查看Apache日志

elasticsearch - Logstash重复事件

在 couchdb 中搜索或通过 Elasticsearch 进行 river

groovy - Elasticsearch-geo_point数组上运行distanceInKm的MissingMethodException

elasticsearch - Elasticsearch脚本对缺少的字段进行排序

jdbc - Logstash 'com.mysql.jdbc.Driver' 未加载

elasticsearch - Logstash将不同的字段输出到不同的 Elasticsearch 索引

json - 如何在 Kibana 中取消过滤器查询

elasticsearch - 如何停止在Ubuntu中运行的logstash Config文件?

ruby - Logstash 中的 ruby​​ 过滤器中的舍入 float