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

如何在Logstash导入CSV时跳过Elasticsearch指定自动生成字段

移除Logstash导入CSV时自动生成的message、event、log字段

这些自动生成的字段来自Logstash的默认行为:

  • message:默认保留CSV的原始行内容
  • event.original:ECS(Elastic Common Schema)相关默认字段,存储原始事件内容
  • log.file.path:由file插件自动添加的CSV文件路径记录

要移除这些字段,只需在Logstash配置中添加mutate过滤器,明确删除不需要的字段:

Logstash配置修改示例

input {
  file {
    path => "/Users/abc/Downloads/opt/jenkins/workspace/agg_report2.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null" # 避免重复读取,按需调整
  }
}

filter {
  csv {
    separator => ","
    columns => ["Label", "Samples", "Average Response Time", "Median", "90th pct", "95th pct", "99th pct", "Min", "Max", "Error %", "Throughput", "Received KB/sec", "Stddev"]
    # 你的CSV解析配置
  }

  # 新增mutate过滤器删除冗余字段
  mutate {
    remove_field => [ "message", "event", "log", "@version" ] # 可按需补充其他要删除的字段
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "jmeter2"
  }
  # stdout { codec => rubydebug } # 测试用,可临时开启查看输出结构
}

注意事项

  • 若使用Filebeat采集后传给Logstash,可在Filebeat配置中禁用相关字段,或在Logstash中统一删除
  • 确认remove_field中的字段名与实际生成的完全一致,比如event是整个对象,直接写字段名即可删除整个对象
  • 修改配置后重启Logstash生效,已导入的旧数据需重新导入,或通过Elasticsearch的更新API批量删除冗余字段

内容的提问来源于stack exchange,提问作者Kiran Kadam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:45:44