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:
| 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