Skip to content

Linear memory increase after update to 5.0.6 #11846

@matteosilv

Description

@matteosilv

Bug Report

Describe the bug
After updating from 5.0.5 to 5.0.6 promql query shows a linear memory increase (check screenshot below):

container_memory_working_set_bytes{
  namespace="fluent-bit",
  pod=~"fluent-bit.*",
  container="fluent-bit"
}

To Reproduce

just updating to 5.0.6 caused the issue.

Expected behavior
No memory increase happens.

Screenshots

Image

Your Environment

this is our config (chart version 0.57.5):

  # Resources
  resources:
    limits:
      cpu: 250m
      memory: 250Mi
    requests:
      cpu: 250m
      memory: 250Mi

  # Scheduling
  priorityClassName: system-node-critical
  tolerations:
    - operator: Exists   # tolerates all taints
  hostNetwork: true
  dnsPolicy: ClusterFirstWithHostNet

  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        # Exclude Fargate nodes
        - key: eks.amazonaws.com/compute-type
          operator: NotIn
          values: [fargate]
        # Exclude "core" nodes
        - key: <REDACTED>/node-type
          operator: NotIn
          values: [core]

  # Logging
  logLevel: error

  # Environment
  env:
    APP_NAME_SYSTEMD: systemd
    SUB_SYSTEM_SYSTEMD: kubelet
    HOSTNAME: <from fieldRef: metadata.name>
    ENDPOINT: <from coralogix.endpoint>
    LOG_LEVEL: <from logLevel>

  # Secrets (injected via envFrom)
  envFrom:
    - secretRef: coralogix-keys   # provides PRIVATE_KEY

  # Coralogix
  coralogix:
    endpoint: <REDACTED>   # private ingress endpoint (eu2 region)

  # Pipeline: Inputs
  inputs:
    - name: tail
      tag: kube.*
      path: /var/log/containers/*.log
      exclude: terraform-operator, fluent-bit, tf-runner containers
      multiline.parser: docker, cri
      mem_buf_limit: 25MB
      processors:
        - kubernetes enrichment (merge_log on, annotations/labels off)
        - nest: lift kubernetes metadata
        - modify: remove kubernetes_docker_id
        - nest: re-nest kubernetes_* fields
        - nest: wrap everything under "json"
        - lua: addcrxmetadata (from mounted script.lua)

    - name: systemd
      tag: host.*
      filter: kubelet.service
      read_from_tail: on
      mem_buf_limit: 5MB
      processors:
        - add applicationName, copy subsystemName
        - nest: _HOSTNAME, SYSLOG_IDENTIFIER, _CMDLINE, MESSAGE → json

  # Pipeline: Output
  outputs:
    - name: http
      match: kube.* and host.*
      host: <REDACTED>   # ENDPOINT from secret/configmap
      port: 443
      uri: /logs/v1/singles
      format: json_lines
      tls: on
      auth: Bearer <PRIVATE_KEY from secret>
      compress: gzip
      retry_limit: false
      net.keepalive: off

  # Observability
  serviceMonitor:
    enabled: true
    selector:
      prometheus: prometheus-platform

  # Extra volumes
  extraVolumes:
    - name: crxluascript
      configMap: fluent-bit-http-crxluascript
      mountPath: /fluent-bit/scripts/script.lua

Additional context

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions