Kubernetes Complete Observability: Basic configuration
Coralogix's Kubernetes Complete Observability provides a comprehensive solution for full-stack observability in your Kubernetes environment.
Overview
View all of your nodes, pods and cluster metrics, pod logs, Kubernetes events, and your distributed traces pipeline. Take advantage of our Kubernetes Dashboard using our pre-configured OpenTelemetry Collector.
Utilizing OpenTelemetry, we ensure seamless and automated data collection from various components of your stack. This enables you to monitor infrastructure health and gain insights into application behavior and inter-service dependencies. Troubleshoot issues, optimize performance and manage your cluster more effectively with a 360-degree view of your Kubernetes ecosystem.
Prerequisites
- Kubernetes (v1.24+) installed
- Helm (v3.9+) installed and configured
Secret key
Follow the private key tutorial to obtain your secret key.
The OpenTelemetry Agent requires a Kubernetes secret named coralogix-keys, which must contain your Coralogix Send-Your-Data API key under the secret key PRIVATE_KEY. This secret must exist in the same namespace where the Helm chart is installed.
To create the secret, run the following command:
The created secret should look like this:
apiVersion: v1
data:
PRIVATE_KEY: <encrypted-private-key>
kind: Secret
metadata:
name: coralogix-keys
namespace: <the-release-namespace>
type: Opaque
Installation
UI-based installation
For UI-based installation check Kubernetes Complete Observability.
Helm-based installation
STEP 1. First, make sure to add our Helm charts repository to the local repos list with the following command:
STEP 2. In order to get the updated Helm charts from the added repository, run:
STEP 3. Install the chart:
helm upgrade --install otel-coralogix-integration coralogix-charts-virtual/otel-integration \
--render-subchart-notes -f values.yaml
Providing custom array values for extraEnvs, extraVolumes or extraVolumeMounts
When providing custom overrides for array values like extraEnvs, extraVolumes, or extraVolumeMounts, note that Helm does not support array merging. Instead, arrays are completely overwritten (see this issue for details). To ensure proper configuration, first copy any existing array values from the provided values.yaml file before adding your custom values.
OpenTelemetry Operator based installation - generating an OpenTelemetryCollector CRD
The OpenTelemetry Operator provides advanced capabilities like automatic collector upgrades and CRD-defined auto-instrumentation. To leverage these features, you can deploy the otel-integration using the Operator by generating an OpenTelemetryCollector Custom Resource Definition (CRD).
If you want to use the OpenTelemetry Integration Helm chart as an OpenTelemetryCollector CRD, you will need to have the OpenTelemetry Operator installed in your cluster. Please refer to the OpenTelemetry Operator documentation for full details.
We recommend to install the operator with the help of the community Helm charts from the OpenTelemetry Helm Charts repository.
STEP 1. First, make sure to add our Helm charts repository to the local repos list using the following command:
STEP 2. In order to get the updated Helm charts from the added repository, run:
STEP 3. Install the chart with the CRD values-crd-override.yaml file. You can provide the global values (such as secret key and cluster name) in one of two ways:
- Adjust the main
values.yamlfile and pass it to thehelm upgradecommand as shown below:
helm upgrade --install otel-coralogix-integration coralogix-charts-virtual/otel-integration \
--render-subchart-notes -f values.yaml -f values-crd-override.yaml
- Provide the values directly through the command line by passing them with the
--setflag:
helm upgrade --install otel-coralogix-integration coralogix-charts-virtual/otel-integration \
--render-subchart-notes -f values-crd-override.yaml --set global.clusterName=<cluster_name> --set global.domain=<domain>
Troubleshooting
During installation, you may encounter warning messages about missing namespace rules (get, list, watch). This is a known issue in OpenTelemetry (see issue #2685) and does not impact the successful installation of the chart.
With some Helm versions (< v3.14.3), users might experience multiple warning messages during installation:
index.go:366: skipping loading invalid entry for chart "otel-integration" \<version> from \<path>: validation: more than one dependency with name or alias "opentelemetry-collector"
This is a known validation bug in Helm (see this issue). The warning messages do not impact the installation process, and the chart will be installed successfully. To avoid these warnings, we recommend upgrading to the latest Helm version or using a version that is not affected by this issue.