Check out these frequently asked questions regarding Kubernetes Observability using OpenTelemetry.
STEP 1. Ensure that your existing Values YAML file is aligned with the latest values.yaml file. This is to avoid configuration issues that may arise.
STEP 2. Update the chart repository listing, assuming the OpenTelemetry Integration chart is named otel-integration
.
helm repo update coralogix
STEP 3. Compare the latest chart version with the Helm installed chart version.
helm search repo coralogix | grep otel-integration helm list -n $NAMESPACE
STEP 4. Upgrade to the latest with the following command:
helm upgrade otel-integration coralogix/otel-integration -f values.yaml -n $NAMESPACE
In cases where telemetry data (such as logs, metrics, or traces) and their corresponding metadata are no longer needed for observability in Coralogix, the Coralogix Exporter can be replaced with the Logging Exporter in the service pipelines. This ensures that the telemetry data is not sent to Coralogix. It is important to note that at least one exporter is required, otherwise the collector will fail.
Below is an example that demonstrates the definition and configuration of the logging exporter for traces.
opentelemetry-agent: config: exporters: logging: # Define the debug exporter here coralogix: timeout: "30s" private_key: "${CORALOGIX_PRIVATE_KEY}" domain: "{{ .Values.global.domain }}" application_name: "{{ .Values.global.defaultApplicationName }}" subsystem_name: "{{ .Values.global.defaultSubsystemName }}" service: ... pipelines: metrics: exporters: - coralogix processors: - batch receivers: - otlp traces: exporters: - logging # Enable only the Logging Exporter for Traces processors: - batch receivers: - otlp logs: exporters: - coralogix processors: - batch receivers: - otlp
Notes:
In the case of multi-line logs, a single logical log entry may exist in multiple lines, resulting in multiple log records by default. To address this issue, the OpenTelemetry Integration Helm Chart includes a commented section in the values.yaml file. This section can be found under presets
> logsCollection
> extraFilelogOperators
.
presets: metadata: enabled: true clusterName: "{{.Values.global.clusterName}}" integrationName: "coralogix-integration-helm" logsCollection: enabled: true storeCheckpoints: true maxRecombineLogSize: 1048576 extraFilelogOperators: [] # - type: recombine # combine_field: body # source_identifier: attributes["log.file.path"] # is_first_entry: body matches "^(YOUR-LOGS-REGEX)"
The extraFilelogOperators
is an array where we can define any additional Filelog Operators that we want to leverage when shipping logs.
Uncomment the example with the recombine operator. This operator is used to recombine log entries from a single log file, as defined by the source_identifier
looking at the log.file.path
attribute, in cases where multi-line has occurred. To achieve this, a regex is defined for the first line of the log using the is_first_entry
field.
A working example of a values.yaml file can be seen below:
global: domain: "eu2.coralogix.com" clusterName: "coralogix-cluster" opentelemetry-agent: presets: logsCollection: extraFilelogOperators: - type: recombine combine_field: body combine_with: "\n" source_identifier: attributes["log.file.path"] is_first_entry: body matches "(\\d{2}:\\d{2}:\\d{2}\\.\\d{3}\\s\\[\\w+\\]\\s\\w+\\s|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{6}Z\\s\\w+\\s)"
Notes:
\\d{2}:\\d{2}:\\d{2}\\.\\d{3}\\s\\[\\w+\\]\\s\\w+\\s AND \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{6}Z\\s\\w+\\s
Need help?
Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.
Feel free to reach out to us via our in-app chat or by sending us an email at [email protected].