【问题标题】:Using Fluent Bit Modify Filter on Kubernetes properties在 Kubernetes 属性上使用 Fluent Bit Modify Filter
【发布时间】:2020-05-06 12:10:15
【问题描述】:

我正在使用 Fluent Bit (1.3.11) 从运行在 k8s 上的容器收集日志。我想做的是使用 Fluent Bit Modify 过滤器进行一些基本处理(即标准化日志级别名称)。

我添加了两个修改过滤器(见下文)。第一个只是验证修改过滤器是否有效。它检查log 键是否存在,如果找到则设置一个属性。这样可行。 第二个修改过滤器是我真正想要做的。据说它会将log_processed.Level 的值从ERR 重写为Error,但我无法让它真正起作用。经过一些试验后,我认为没有一个条件取决于 log_processed.*kubernetes.* 属性(由 kubernetes 过滤器添加)的过滤器工作。

是否有推荐/可行的方法来修改来自 Kubernetes 的日志?


 [FILTER]
        Name                kubernetes
        Match               kube.*
        Kube_URL            https://kubernetes.default.svc:443
        Kube_CA_File        /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        Kube_Token_File     /var/run/secrets/kubernetes.io/serviceaccount/token
        Kube_Tag_Prefix     kube.var.log.containers.
        Merge_Log           On
        Merge_Log_Key       log_processed

        K8S-Logging.Parser  On
        K8S-Logging.Exclude Off

    [FILTER] 
        Name        modify
        Match       kube.*

        Condition   Key_exists log

        Set         my.custom.prop modify-filter-applied

    [FILTER]
        NAME        modify
        Match       kube.*

        Condition   Key_value_equals log_processed.Level ERR

        Set         log_processed.Level Error

【问题讨论】:

    标签: logging kubernetes fluent-bit


    【解决方案1】:

    我设法使用Lua filter 来修改记录。

    [FILTER]
        Name                lua
        Match               kube.*
        script              levelRewrite.lua
        call                level_rewrite
    
    function level_rewrite(tag, timestamp, record)
        for key, val in pairs(record) do
            if key == "log_processed" then
                if val["level"] == "I" then
                    val["level"] = "Info"
                    -- return code 2 is supported in Fluent Bit v.1.4.3+
                    return 2, timestamp, record
                end
            end
        end
    
        return 0, 0, 0
    end
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      相关资源
      最近更新 更多