Skip to content

Advanced Configurations

When your environment includes both Kubernetes and VM-based (or bare metal) infrastructure, follow the setup instructions specific to each environment. This ensures that your data is correctly collected, filtered, and attributed across all sources.

Block unwanted entities from your cluster

Use OTTL-based filter statements to prevent unnecessary Kubernetes resources from being collected and sent to Coralogix. This helps reduce data volume and improve system performance.

Example: Helm chart configuration to exclude specific namespaces and resource types

opentelemetry-cluster-collector:
  presets:
    kubernetesResources:
      enabled: true
      filterStatements:
        # Exclude specific namespaces
        - 'body["metadata"]["namespace"] != "kube-system"'
        - 'body["metadata"]["namespace"] != "default"'
        - 'body["metadata"]["namespace"] != "monitoring"'
        # Exclude specific resource types
        - 'body["kind"] != "Event"'
        - 'body["kind"] != "EndpointSlice"'
      transformStatements:
        # Remove specific labels to reduce payload size
        - 'delete_key(body["metadata"]["labels"], "kubernetes.io/arch")'
        - 'delete_key(body["metadata"]["labels"], "kubernetes.io/os")'
      dropManagedFields:
        enabled: true  # Remove managedFields to minimize data

Optimize sync frequency of entities from your cluster

To lower the volume of infrastructure events and reduce overhead, adjust the default collection intervals.

Example: Helm chart configuration to increase collection interval to 5 minutes

global:
  collectionInterval: "5m"  # Increase from default (e.g., 30s) to reduce data frequency

opentelemetry-agent:
  presets:
    hostMetrics:
      collection_interval: "5m"  # Applies global setting
    kubeletMetrics:
      collection_interval: "5m"  # Applies global setting

opentelemetry-cluster-collector:
  presets:
    kubernetesResources:
      enabled: true
      periodicCollection:
        enabled: true  # Use pull mode instead of event-based push
      dropManagedFields:
        enabled: true  # Reduce data size by removing metadata