You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logstash 6.2.3警告处理:多JDBC输入映射至ES独立索引方案

解决Logstash 6.2.3多JDBC输入映射到独立Elasticsearch索引的问题

嗨,我来帮你搞定这个问题!首先得先理清楚那个警告的意思:ES 6.x及以上版本已经取消了单索引多文档类型(_type)的支持,所以Logstash里的type字段不再用来确定文档的_type了,这就是你看到警告的原因。要实现多JDBC输入对应不同ES索引,我们可以给每个输入加个自定义标记字段,然后在输出里动态匹配索引名就行。

步骤1:给JDBC输入添加自定义标记字段

给每个JDBC输入配置加上add_field属性,用这个字段标记该输入对应的目标索引。比如:

input {
  # 对应agency索引的JDBC输入
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.44.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/dbname"
    jdbc_user => "XXXX"
    jdbc_password => "XXXX"
    jdbc_paging_enabled => true
    # 这里记得加上对应agency数据的查询语句,比如query => "SELECT * FROM agency"
    add_field => { "target_index" => "agency" } # 标记目标索引为agency
  }
  
  # 对应subscriber索引的JDBC输入
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.44.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/dbname"
    jdbc_user => "XXXX"
    jdbc_password => "XXXX"
    jdbc_paging_enabled => true
    # 这里加上对应subscriber数据的查询语句,比如query => "SELECT * FROM subscriber"
    add_field => { "target_index" => "subscriber" } # 标记目标索引为subscriber
  }
}

这个add_field会给每个从该JDBC输入生成的事件,额外添加一个target_index字段,用来区分不同的目标索引。

步骤2:配置Elasticsearch输出,动态指定索引

在输出部分,我们用%{target_index}来引用事件里的标记字段值,动态设置目标索引。同时因为ES 6.x默认文档类型是_doc,可以显式指定这个参数来避免不必要的警告:

output {
  elasticsearch {
    hosts => ["localhost:9200"] # 你的ES服务地址
    index => "%{target_index}" # 动态引用标记字段作为索引名
    document_type => "_doc" # ES 6.x+默认的文档类型,建议加上消除警告
    # 如果需要指定文档ID,可以加上document_id => "%{your_id_field}",按需配置
  }
}

这样配置后,第一个JDBC输入的事件会自动写入agency索引,第二个输入的事件会写入subscriber索引,完美满足你的需求,同时也规避了那个关于type字段的警告。

额外小提示

  • 如果你的ES版本是7.x及以上,document_type参数已经被移除,直接删掉这个配置就行,因为7.x彻底取消了文档类型的概念。
  • 一定要确保两个JDBC输入的query语句对应不同的数据源(比如不同的表),这样两个索引的数据才不会混在一起。

内容的提问来源于stack exchange,提问作者Ananda Kumar N C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:53:39