我正在尝试使用 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']
尽管有这种配置,我仍然从所有命名空间中获取日志。
Filebeat 在 Kubernetes 上作为 DaemonSet 运行。以下是扩展日志条目的示例:https : //i.imgur.com/xfTwbhl.png
最后,我通过将放置处理器从配置文件移动到输入配置文件来解决这个问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句