# Integration troubleshooting

Copy as Markdown[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fopentelemetry%2Fkubernetes-observability%2Ftroubleshooting.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fopentelemetry%2Fkubernetes-observability%2Ftroubleshooting.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)

You installed the [OpenTelemetry Integration](https://github.com/coralogix/telemetry-shippers/tree/master/otel-integration/k8s-helm) chart, instrumented your applications, and nothing is arriving in Coralogix. Two things are usually responsible:

* The Helm installation failed, or the collectors are not healthy.
* Your application is not sending to the collector.

Work through the checks below in order. Each one narrows down which of the two it is.

## Check the agent logs [​](#check-the-agent-logs- "Direct link to check-the-agent-logs-")

1

<!-- -->

.

Find the agent pod

It appears once, with the installation name you chose:

```
kubectl get pods -o wide -n $NAMESPACE | grep opentelemetry-agent
```

Its `STATUS` should be `Running`. `Pending` means it has not scheduled yet. Rerun the command. `AGE` should match the time since your last Helm upgrade; anything much older suggests the upgrade did not take.

2

<!-- -->

.

Stream its logs

Copy the pod's full name from the output above. The `--follow` flag live tails the logs in your terminal:

```
kubectl logs --follow <opentelemetry-agent-pod-name> -n <namespace>
```

## Check the cluster collector [​](#check-the-cluster-collector- "Direct link to check-the-cluster-collector-")

Missing data, or an incomplete view such as absent Kubernetes events, usually points here.

1

<!-- -->

.

Confirm all three pods are running

The agent, the cluster collector, and Kube State Metrics all need to be up:

```
kubectl get pods -o wide -n $NAMESPACE

NAME                                                  READY   STATUS    RESTARTS   AGE   IP              NODE                                               NOMINATED NODE   READINESS GATES

coralogix-opentelemetry-agent-jhl6q                   1/1     Running   0          43m   172.31.27.209   ip-172-31-27-209.ap-southeast-1.compute.internal   <none>           <none>

coralogix-opentelemetry-collector-84d684d45c-2h4rt    1/1     Running   0          43m   172.31.31.122   ip-172-31-27-209.ap-southeast-1.compute.internal   <none>           <none>

otel-integration-kube-state-metrics-bbc57cd9b-9kgrp   1/1     Running   0          43m   172.31.18.170   ip-172-31-27-209.ap-southeast-1.compute.internal   <none>           <none>
```

If any is missing or not `Running`, pull its logs before going further.

2

<!-- -->

.

Confirm the extension package is installed

Check the **Kubernetes OpenTelemetry** extension in your Coralogix account is on the latest version, with all relevant **Applications** and **Subsystems** selected.

3

<!-- -->

.

Look for gaps in the dashboards

Select **Grafana**, then **Dashboards**, then **Manage**, and open the **K8sOtel** folder. A populated dashboard looks like the one below.

[![Grafana K8sOtel Host Metrics Details dashboard with CPU, memory, disk, and network panels populated](/docs/assets/images/Untitled-47-1024x567-54db89b4d92d3902f8cef77a2e736dc6.webp)](https://coralogix.com/docs/assets/images/Untitled-47-1024x567-54db89b4d92d3902f8cef77a2e736dc6.webp)

Shows a healthy dashboard. Panels reading **No data** instead mean either telemetry is not being exported from the collectors, or a component on the collector is misconfigured.

## Test endpoint connectivity [​](#test-endpoint-connectivity- "Direct link to test-endpoint-connectivity-")

[Validate](https://coralogix.com/docs/integrations/coralogix-endpoints.md#ingress-endpoints) that the cluster can resolve your OpenTelemetry endpoint. This command creates a temporary `busybox` pod, runs `nslookup` against the endpoint, and cleans up after itself:

```
kubectl run busybox --image=busybox:1.28 --rm -it --restart=Never -- nslookup ingress.eu2.coralogix.com:443
```

A successful lookup returns the server and the resolved address. An error means the cluster cannot reach the domain server, a networking or DNS problem outside the Collector.

## Check the chart configuration [​](#check-the-chart-configuration- "Direct link to check-the-chart-configuration-")

Unexpected behavior, wrong telemetry, or a failed Helm install usually means `values.yaml` does not match the structure the chart expects, or your overrides did not apply.

1

<!-- -->

.

Compare against the defaults

Diff your file against the chart's [default values.yaml](https://github.com/coralogix/telemetry-shippers/blob/master/otel-integration/k8s-helm/values.yaml).

2

<!-- -->

.

Inspect what actually deployed

The rendered ConfigMaps show the configuration as the collectors received it, overrides included:

```
kubectl get configmap -n $NAMESPACE

NAME                                DATA   AGE

coralogix-opentelemetry-agent       1      4d

coralogix-opentelemetry-collector   1      4d

kube-root-ca.crt                    1      118d



kubectl get configmap -n otel -o yaml coralogix-opentelemetry-agent

kubectl get configmap -n otel -o yaml coralogix-opentelemetry-collector
```

For background on how the overrides are templated, see [Helm values files](https://helm.sh/docs/chart_template_guide/values_files/).

## Next steps[​](#next-steps "Direct link to Next steps")

Read the Kubernetes Observability using OpenTelemetry [FAQs](https://coralogix.com/docs/opentelemetry/kubernetes-observability/faqs.md).
