我正在使用 Filebeat v8.8.0,并尝试通过自定义摄取管道摄取 Netflow 数据,以使用非 Maxmind 的数据库执行 IP 地理位置。目前,我的 Netflow 数据是使用 Maxmind 数据库丰富的(除了将 Maxmind 数据库上传到 ES 的相应文件夹之外,我没有在 Filebeat 或 ES 中指定任何设置)。
我已经创建了管道,名为
new_filebeat_pipeline
。但是,我不确定应该在 Filebeat 配置文件中的何处指定管道。我尝试在以下 3 个位置(分别)添加 pipeline: "new_filebeat_pipeline"
,但我的数据总是使用 Maxmind 数据而不是我的自定义数据库来丰富。
设置 1:在
filebeat.yml
output.elasticsearch:
...
pipeline: "new_filebeat_pipeline"
设置 2:在
filebeat.yml
filebeat.inputs:
- type: netflow
enabled: true
pipeline: "new_filebeat_pipeline"
设置 3:在
/etc/filebeat/modules.d/netflow.yml
- module: netflow
log:
enabled: true
var:
...
input.pipeline: "new_filebeat_pipeline" # also tried 'pipeline: "new_filebeat_pipeline"'
我一直使用
netflow.yml
来配置我的Netflow数据,而不是filebeat.inputs
,即设置2只是为本次测试添加的,否则不存在。
我已经使用现有文档(已包含 Maxmind 扩充)测试了管道,并且它能够生成新数据库所需的字段,因此管道应该正常工作。但由于某种原因,我的 Netflow 数据仍然通过“默认”管道,而不是我的自定义管道。
我应该如何配置 Filebeat 来做到这一点?
预计到达时间:我在here读到“该模块包装了网络流输入,以通过使用 Elasticsearch 摄取管道来丰富具有有关 IP 端点的地理位置信息的流记录。”所以我猜测如果我使用netflow模块,它总是会进入默认的摄取管道。所以我禁用了它,并使用
filebeat.inputs
代替,我现在可以看到使用自定义摄取管道添加的字段。
虽然我现在面临另一个问题,那就是我收到错误消息
Could not perform enrichment, enrich coordination queue at capacity [1024/1024]
。