【问题标题】:kubernetes efk: what does fluentd's 'filter' filter?kubernetes efk:fluentd 的“过滤器”过滤了什么?
【发布时间】:2019-01-14 16:06:43
【问题描述】:

我正在尝试在我的 kubernetes 集群中启用 efk。我找到了一个关于 fluentd 配置的文件:https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml

在这个文件中,有:

<filter kubernetes.**>
  @id filter_kubernetes_metadata
  @type kubernetes_metadata
</filter>
# Fixes json fields in Elasticsearch
<filter kubernetes.**>
  @id filter_parser
  @type parser
  key_name log
  reserve_data true
  remove_key_name_field true
  <parse>
    @type multi_format
    <pattern>
      format json
    </pattern>
    <pattern>
      format none
    </pattern>
  </parse>
</filter>

我想为不同的部署使用不同的解析器。所以我想知道:

  1. kubernetes 中的“kubernetes.**”是什么?它是部署的名称还是部署的标签?

  2. 在 docker-compose 文件中,我们可以在不同的容器上标记,并在 fluentd 的“过滤器”中使用标记。在kubernetes中,有没有类似的方法?

感谢您的帮助!

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    它与 Kubernetes 或部署无关;它是fluentd 语法,表示顶级kubernetes“标签”及其作为事件发布的所有子键,可以看到here

    【讨论】:

    • 感谢您的解释!那么有没有办法在kubernetes-fluentd的config中区分不同的部署(问题2)?
    • 我无法对 fluentd 疯狂愚蠢的配置做出正面或反面,也找不到一个字节的文档来描述甚至可以过滤哪些字段。我建议将output 更改为标准输出,并查看生成的 json 以 猜测 会出现什么
    猜你喜欢
    • 2014-03-22
    • 1970-01-01
    • 2019-05-01
    • 2019-02-11
    • 1970-01-01
    • 2015-04-18
    • 2020-07-08
    • 2017-10-20
    • 2018-05-21
    相关资源
    最近更新 更多