Integrating Kubernetes with Coralogix Continuous Profiling
The following section provides step-by-step instructions for setting up Continuous Profiling (CP) in a Kubernetes environment by deploying the Coralogix CP agent together with the Coralogix collector. The Coralogix collector includes the OpenTelemetry (OTel) collector and serves as the central component for receiving and forwarding telemetry data—including profiling, traces, and metrics—into the Coralogix platform.
Prerequisites
To get started with Continuous Profiling, first onboard Application Performance Monitoring by instrumenting your service with an OTel-compatible SDK and verifying that traces are successfully sent to Coralogix. Ensure that traces are assigned to the Medium (Monitoring) TCO pipeline to be processed correctly.
Before starting the installation, ensure that your environment meets the minimum version requirements:
- Kubernetes 1.24 or newer
- Helm 3.9 or newer
Use the command below to confirm your Helm version:
Installing the Continuous Profiling agent and OTel collector
Add the Coralogix Helm repository.
Add the Coralogix Helm chart repository and update your local Helm repo cache by running:
Enable the Continuous Profiling agent.
To activate the CP agent, create a file named
cp.yaml
and insert the following configuration:Note
By default, the Coralogix Continuous Profiling agent collects profiling data from all services across your Kubernetes cluster.
To limit data collection to specific nodes—for instance, to avoid monitoring system-critical or infrastructure-dedicated nodes—you can configure node affinity, anti-affinity, and tolerations.
These Kubernetes features allow fine-grained control over pod scheduling, enabling you to tailor where the profiling agent is deployed based on node characteristics and cluster topology.
Install or upgrade the Coralogix collector.
If you haven't yet installed the Coralogix collector
Create the required secret.
Ensure a Kubernetes secret named
coralogix-keys
exists and includes your Coralogix Private API Key. If it doesn't, use the command below to create it:Install the OTel collector with CP agent enabled.
After creating the secret, deploy the Coralogix integration (which includes the Otel collector) along with the CP agent using the following Helm command. Replace
<cluster name>
and<Your Coralogix Region Domain>
with the appropriate values:
If you have already installed the Coralogix collector
If the Coralogix collector is already deployed in your cluster, add the following to your existing override file:
opentelemetry-agent:
enabled: true
presets:
profilesCollection:
enabled: true
command:
extraArgs: [ "--feature-gates=service.profilesSupport" ]
coralogix-ebpf-profiler:
enabled: true
ebpf_agent:
otel:
exporter:
# # configure the opentelemetry collector endpoint here
# endpoint: "$(HOST_IP):4317"
helm upgrade --install otel-coralogix-integration coralogix/otel-integration --version=0.0.128 --render-subchart-notes --set global.domain="<Your Coralogix Domain>" --set global.clusterName="<cluster name>" -f <your override.yaml>
Next steps
To produce meaningful profiling insights for compiled languages like Go, Rust, C, C++, or Haskell, Coralogix Continuous Profiling requires access to debug symbols—also referred to as debuginfos. Find out more about uploading symbols here.