Difference between revisions of "Fluent Bit Kubernetes Filter"

From wikieduonline
Jump to navigation Jump to search
(Created page with " {{Fluent Bit}}")
 
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
Kubernetes Filter depends on either [[tail]] or [[Systemd]] [[input plugins]] to process and enrich records with Kubernetes metadata
  
  
 +
https://docs.fluentbit.io/manual/pipeline/filters/kubernetes#workflow-of-tail-+-kubernetes-filter
 +
<pre>
 +
[INPUT]
 +
    Name    tail
 +
    Tag    kube.*
 +
    Path    /var/log/containers/*.log
 +
    Parser  docker
  
 +
[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
 +
</pre>
  
  
{{Fluent Bit}}
+
== Default ==
 +
* https://github.com/fluent/helm-charts/blob/main/charts/fluent-bit/values.yaml
 +
* https://docs.fluentbit.io/manual/pipeline/filters/kubernetes
 +
 
 +
  ## https://docs.fluentbit.io/manual/pipeline/filters
 +
  filters: |
 +
    [FILTER]
 +
        Name kubernetes
 +
        Match kube.*
 +
        Merge_Log On            # When enabled, it checks if the log field content is a JSON string map, if so, it append the map fields as part of the log structure.
 +
        Keep_Log Off            # When Keep_Log is disabled, the log field is removed from the incoming message once it has been successfully merged (Merge_Log must be enabled as well).
 +
        [[K8S-Logging.Parser]] On    # Allow Kubernetes Pods to suggest a pre-defined Parser
 +
        [[K8S-Logging.Exclude]] On  # Allow Kubernetes Pods to exclude logs
 +
 
 +
== Other INPUT examples ==
 +
* {{input tail}}
 +
 
 +
 
 +
== Related ==
 +
* <code>[warn] [filter] NO [[match rule]] for kubernetes.0 filter instance, unloading</code>
 +
 
 +
== See also ==
 +
* {{Fluent Bit}}
 +
 
 +
[[Category:Fluent Bit]]

Latest revision as of 11:38, 27 December 2022

Kubernetes Filter depends on either tail or Systemd input plugins to process and enrich records with Kubernetes metadata


https://docs.fluentbit.io/manual/pipeline/filters/kubernetes#workflow-of-tail-+-kubernetes-filter

[INPUT]
    Name    tail
    Tag     kube.*
    Path    /var/log/containers/*.log
    Parser  docker

[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


Default[edit]

 ## https://docs.fluentbit.io/manual/pipeline/filters
 filters: |
   [FILTER]
       Name kubernetes
       Match kube.*
       Merge_Log On             # When enabled, it checks if the log field content is a JSON string map, if so, it append the map fields as part of the log structure.
       Keep_Log Off             # When Keep_Log is disabled, the log field is removed from the incoming message once it has been successfully merged (Merge_Log must be enabled as well).
       K8S-Logging.Parser On    # Allow Kubernetes Pods to suggest a pre-defined Parser 
       K8S-Logging.Exclude On   # Allow Kubernetes Pods to exclude logs

Other INPUT examples[edit]

  • [INPUT]
       Name tail
       Path /var/log/containers/*.log
       multiline.parser docker, cri
       Tag kube.*
       Mem_Buf_Limit 5MB
       Skip_Long_Lines On


Related[edit]

  • [warn] [filter] NO match rule for kubernetes.0 filter instance, unloading

See also[edit]

Advertising: