我有一个定时jdbclogstash输入并将数据加载到elasticsearch中。
input {
jdbc {
jdbc_connection_string => "XXX"
jdbc_user => "XXX"
jdbc_password => "XXX"
jdbc_validate_connection => true
jdbc_driver_library => "XXX"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
statement => "XXX"
schedule => "0 3 * * * America/New_York"
type => "XXX"
add_field => { "[@metadata][indexname]" => "XXX" }
}
}
输出{
elasticsearch {
hosts=> ["XXX","XXX","XXX"]
index=>"%{[@metadata][indexname]}"
user => XXX
password => XXX
ssl => true
ssl_certificate_verification => false
cacert => 'XXX'
document_id => "%{uniqueid}"
}
stdout {}
}
}
我想知道如果有一些jdbc连接失败或elasticsearch连接问题,如何手动触发它运行?
您可以在命令行上运行logstash,如下所示。
bin/logstash -f mypipeline.conf
因为您有
stdout
,您还将在终端上看到输出。
https://www.elastic.co/guide/en/logstash/current/running-logstash-command-line.html
注意:如果速度很慢,请不要担心
stdout
是性能杀手:)建议在测试后在产品上将其删除。
注意2:测试时请删除logstash.conf中的
schedule
,否则你应该等到预定时间。