gpt4 book ai didi

elasticsearch - 如果它们包含特定字段,如何限制Filebeat仅将日志发送到ELK?

转载 作者:行者123 更新时间:2023-12-03 00:49:51 26 4
gpt4 key购买 nike

我正在尝试使用Filebeat从Kubernetes节点收集日志,并且仅在日志源自特定Kubernetes命名空间的情况下才将它们发送到ELK。

到目前为止,我发现您可以定义处理器来完成此任务。但是,无论我做什么,都无法约束出厂的日志。这看起来正确吗?

嗯,那看起来正确吗?

filebeat.config:
inputs:
path: ${path.config}/inputs.d/*.yml
reload.enabled: true
reload.period: 10s
when.contains:
kubernetes.namespace: "NAMESPACE"
modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
processors:
- add_kubernetes_metadata:
namespace: "NAMESPACE"
xpack.monitoring.enabled: true
output.elasticsearch:
hosts: ['elasticsearch:9200']

尽管进行了这种配置,我仍然从所有 namespace 获取日志。

Filebeat在Kubernetes上作为DaemonSet运行。这是扩展日志条目的示例: https://i.imgur.com/xfTwbhl.png

最佳答案

您可以使用数字选择:

  • Filter data by filebeat
  • processors:
    - drop_event:
    when:
    contains:
    source: "field"
  • Use ingest pipeline into elasticsearch:
  • output.elasticsearch:
    hosts: ["localhost:9200"]
    pipeline: my_pipeline_id

    然后将事件测试到 pipeline中:
    {
    "drop": {
    "if" : "ctx['field'] == null "
    }
    }
  • Use drop filter of logstash:
  • filter {
    if ![field] {
    drop { }
    }
    }

    关于elasticsearch - 如果它们包含特定字段,如何限制Filebeat仅将日志发送到ELK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55464396/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com