Logstash with Elasticsearch:我正在使用 logstash 将数据摄取到 ES 索引中.但现在


#file:db.conf
input { 
jdbc { 
jdbc_driver_library => ""
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver" 
jdbc_connection_string => "jdbc:oracle:thin:@abcd.klm.uvw:1521/qtp1"
jdbc_user =>"user_wew"
jdbc_password => "password_wew"


statement => "select col1, col2, col3, col4, col5, col6, countid,max(version) as mv from master_object_table where version >:sql_last_value group by countid"
schedule => "* * * * *"
last_run_metadata_path => "C:/ES1/ELK_stack_7.4.2/logstash-7.4.2/logstash-7.4.2/Master_refresh_a.txt"
use_column_value => true
tracking_column => "version"
} 
}

filter {
mutate {
convert => {
"countid" => "string"
}
}
}

output {
elasticsearch { 
hosts => "localhost:9200" 
index =>"refresh_index_a"
document_id =>"%{countid}"
#document_type="_doc"

}
file {
path => "C:\ES1\ELK_stack_7.4.2\logstash-7.4.2\logstash-7.4.2\bin\logstashESRecordsIngestionDetails_refresh_a.txt"

codec => rubydebug
}

stdout {   codec => rubydebug }
}

以上是我的日志配置文件设置。我想 24/7 全天候运行此 logstash,如果运行此 logstash 的机器关闭,那么我该如何管理它,因为此 logstash 正在将实时数据摄取到 ES 索引。请指教。如果一台服务器出现故障,是否有任何方法,另一个节点上的日志库将继续工作。

根据文档

Logstash 是水平可扩展的,可以形成运行节点组 相同的管道。Logstash 的自适应缓冲功能将 即使在可变吞吐量负载下也能实现平滑流式传输。如果 Logstash 层成为摄取瓶颈,只需添加更多 要横向扩展的节点。以下是一些一般性建议:

  1. 节拍应该在一组 Logstash 节点之间进行负载平衡。
  2. 建议至少使用两个 Logstash 节点以实现高可用性。
  3. 通常每个 Logstash 节点只部署一个 Beats 输入,但多个 还可以为每个 Logstash 节点部署 Beats 输入以公开 不同数据源的独立终结点。

最新更新