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

如何配置Filebeat将JSON数据发送至自定义Elasticsearch索引模板

配置Filebeat将JSON数据发送到指定Elasticsearch索引模板

我来帮你修正Filebeat配置,确保你的JSON数据包能正确匹配到你创建的packets索引模板。先梳理下关键问题,再给出完整的配置方案:

现有配置的几个问题

  1. 模板名称设置错误:setup.template.name应该指向你手动创建的模板名(即packets),而非索引模式packets-*
  2. 冗余的事件丢弃规则:你的drop_event处理器处于禁用状态,且逻辑不符合数据发送需求,建议直接移除
  3. 缺失Elasticsearch输出配置:现有配置未完成输出部分的设置,需要明确指定ES地址和索引生成规则

修正后的完整filebeat.yml配置

###################### Filebeat Configuration ######################
#=========================== Filebeat Prospectors =============================
filebeat.prospectors:
- input_type: log
  paths:
    - "/home/manuel/packets.json"
  document_type: "pcap_file"
  json.keys_under_root: true
  enabled: true  # 启用该采集器

#============================= Filebeat modules ===============================
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

#==================== Elasticsearch template setting ==========================
setup.template.settings:
  index.number_of_shards: 3
setup.template.name: "packets"  # 对应你创建的模板名称
setup.template.pattern: "packets-*"  # 和模板的index_patterns保持一致
setup.template.enabled: true  # 强制使用指定模板,不自动生成默认模板
setup.template.overwrite: false  # 不覆盖你手动创建的模板(如需更新可改为true)

#================================ General =====================================
# 可选:添加自定义标签或环境字段
# tags: ["packet-capture"]
# fields:
#   env: production

#============================= Elasticsearch Output ===========================
output.elasticsearch:
  hosts: ["localhost:9200"]  # 你的ES节点地址,多个节点用逗号分隔
  index: "packets-%{+yyyy.MM.dd}"  # 按日期生成索引,匹配packets-*模式
  # 若ES开启认证,添加以下配置
  # username: "elastic"
  # password: "your_auth_password"

关键配置说明

  1. JSON解析适配:json.keys_under_root: true会把JSON文件中的顶级字段(如timestamp、layers)直接映射到事件的根层级,确保和你模板里定义的字段结构完全匹配
  2. 模板关联逻辑:setup.template.name指定你手动创建的packets模板,setup.template.pattern匹配索引模式,保证新生成的packets-*索引自动应用你的自定义映射
  3. 索引命名规则:output.elasticsearch.index设置为按日期生成索引,既符合模板的匹配规则,也便于后续的日志归档和查询

验证步骤

  1. 重启Filebeat服务,让新配置生效
  2. 查看Elasticsearch索引列表,应该会生成类似packets-2024.05.20的索引
  3. 执行GET packets-*/_mapping命令,确认索引的映射结构和你创建的模板一致

内容的提问来源于stack exchange,提问作者Manuel Flores

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:07:19