IBM Cloud Docs
Helm Chart configuration required

Helm Chart configuration required

Starting with Helm chart version 1.6.0, the Fluent Bit log pipeline configuration has transitioned to using the official Fluent Bit YAML configuration format. This change brings enhanced flexibility and clarity to configuration management.

List of required parameters

The following table contains a list of the parameters that are required and you can customize in the logs-values.yaml file:

Helm configuration options
Parameter Description Default value
metadata.name The name used for all of the Kubernetes resources logs-agent
image.version The version of the agent container image No default.
Sample value: 1.6.1
clusterName The name of the Kubernetes cluster No default
Enter your cluster name
loggingLevel The type of logs that should be reported by the agent (debug, info, error) info
retryLimit Limit the number of retries that will be attempted to send data to IBM Cloud Logs
Set to False so there are no retry limits
False
outputWorkers The number of worker threads used by the output plug-in to send data to IBM Cloud Logs 4
env.ingestionHost The IBM Cloud Logs host where logs are sent No default
env.ingestionPort The IBM Cloud Logs port where logs are sent No default
env.iamMode Indicate the IAM authentication mechanism used
Valid values are: TrustedProfile, IAMAPIKey
No default
env.trustedProfileID The trusted profile used
Required when iamMode=TrustedProfile
No default.
Sample value: Profile-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
secret.iamAPIKey The APIKey used
Required when iamMode=IAMAPIKey.
Should only be provided when using the CLI
No default
env.iamEnvironment Controls the IAM endpoint used by the agent to exchange the tokens.
Valid values are: Production, Custom, PrivateProduction
Production
env.iamHost IAM host required for IAM Environment Custom setting. See iamEnvironment No default
scc.create Required to create the Secure Context Constraints in Openshift
Set to true for Openshift clusters.
false
defaultMetadata.subsystemName Static string to override the subsystemName in IBM Cloud Logs Set to the container that generated the log
defaultMetadata.applicationName Static string to override the applicationName in IBM Cloud Logs Set to the namespace name that generated the log
selectedLogSourcePaths Logs that should be collected by the agent. /var/log/containers/*.log
excludeLogSourcePaths Logs that should NOT be collected by the agent. /var/log/at/*
keepParsedLog If a log is parsed by the Kubernetes filter, still keep the original log field containing the message false
enableKubernetesFilter Indicate whether the Kubernetes filter should be used when parsing container logs true
kubernetesFields List of Kubernetes metadata fields to keep in log records pod_name, namespace_name, container_name
includeAnnotations Instruct the Kubernetes plug-in to include the container annotations with the log messages.
For more information, see [includeAnnotations]#agent-helm-template-clusters-chart-options-include-annotations).
false
includeLabels Instruct the Kubernetes plug-in to include labels. false

Sample logs-values.yaml file

The following sample of the logs-values.yaml file includes default values:

metadata:
  name: "logs-agent"
image:
  version: "1.6.1"

clusterName: "ENTER_CLUSTER_NAME"     # Enter the name of your cluster. This information is used to improve the metadata and help with your filtering.

enableKubernetesFilter: true
loggingLevel: "info"
retryLimit: false
outputWorkers: 4

#defaultMetadata:
#  subsystemName: ""
#  applicationName: ""

#additionalMetadata:        # Add additional metadata
#  region: us-south
#  env: prod

selectedLogSourcePaths: ""  # Comma separated list. Adds log files to the default value `/var/log/containers/*.log`
excludeLogSourcePaths: ""   # Comma separated list. Adds log files to the default value `/var/log/at/*`

enableKubernetesFilter: true
includeAnnotations: false
includeLabels: false
kubernetesFields:
  - pod_name
  - namespace_name
  - container_name
#  - pod_id
#  - pod_ip
#  - container_hash
#  - container_image
#  - docker_id
#  - host

env:
  # ingestionHost is a required field. For example:
  ingestionHost: "<logs instance>.ingress.us-east.logs.cloud.ibm.com"

  # If you are using private CSE proxy, then use port number "3443"
  # If you are using private VPE Gateway, then use port number "443"
  # If you are using the public endpoint, then use port number "443"
  ingestionPort: "443"

  iamMode: "TrustedProfile"
  # trustedProfileID - trusted profile id - required for iam trusted profile mode
  trustedProfileID: "Profile-yyyyyyyy-xxxx-xxxx-yyyy-zzzzzzzzzzzz" # required if iamMode is set to TrustedProfile

  iamEnvironment: "Production"

scc:
  # Set to true to create the Security Context Constraints in Openshift clusters
  create: false