Enhance K8s Metadata 🔗︎

Overview 🔗︎

Fluentd Filter plugin to fetch several metadata for a Pod

Configuration 🔗︎

EnhanceK8s 🔗︎

in_namespace_path ([]string, optional) 🔗︎

parameters for read/write record

Default: [‘$.namespace’]

in_pod_path ([]string, optional) 🔗︎

Default: [‘$.pod’,‘$.pod_name’]

data_type (string, optional) 🔗︎

Sumologic data type

Default: metrics

kubernetes_url (string, optional) 🔗︎

Kubernetes API URL

Default: nil

client_cert (secret.Secret, optional) 🔗︎

Kubernetes API Client certificate

Default: nil

client_key (secret.Secret, optional) 🔗︎

// Kubernetes API Client certificate key

Default: nil

ca_file (secret.Secret, optional) 🔗︎

Kubernetes API CA file

Default: nil

secret_dir (string, optional) 🔗︎

Service account directory

Default: /var/run/secrets/kubernetes.io/serviceaccount

bearer_token_file (string, optional) 🔗︎

Bearer token path

Default: nil

verify_ssl (*bool, optional) 🔗︎

Verify SSL

Default: true

core_api_versions ([]string, optional) 🔗︎

Kubernetes core API version (for different Kubernetes versions)

Default: [‘v1’]

api_groups ([]string, optional) 🔗︎

Kubernetes resources api groups

Default: [“apps/v1”, “extensions/v1beta1”]

ssl_partial_chain (*bool, optional) 🔗︎

if ca_file is for an intermediate CA, or otherwise we do not have the root CA and want to trust the intermediate CA certs we do have, set this to true - this corresponds to the openssl s_client -partial_chain flag and X509_V_FLAG_PARTIAL_CHAIN

Default: false

cache_size (int, optional) 🔗︎

Cache size

Default: 1000

cache_ttl (int, optional) 🔗︎

Cache TTL

Default: 60602

cache_refresh (int, optional) 🔗︎

Cache refresh

Default: 60*60

cache_refresh_variation (int, optional) 🔗︎

Cache refresh variation

Default: 60*15

Example EnhanceK8s filter configurations 🔗︎

apiVersion: logging.banzaicloud.io/v1beta1
kind: Logging
metadata:
 name: demo-flow
spec:
 globalFilters:
   - enhanceK8s: {}

Fluentd Config Result 🔗︎

<filter **>
 @type enhance_k8s_metadata
 @id test_enhanceK8s
</filter>