Documentation forSolarWinds Observability SaaS

Troubleshooting Network Topology

If pods from the swo-k8s-collector-kernel-collector DaemonSet are failing or restarting, Network Topology and other monitoring features become unavailable. This is usually caused by running on incompatible Kubernetes nodes.

The eBPF monitoring technology used by this feature has specific requirements for the client node operating system. Supported Linux distributions include:

  • CentOS
  • RHEL
  • Amazon Linux
  • Rocky Linux
  • Debian
  • Ubuntu

The Linux kernel version must be between 3.12 and 5.10.

If your machine does not meet these requirements, SolarWinds recommends disabling eBPF monitoring which will also disable Network Topology. To disable eBPF monitoring, set the following in your values.yaml:

ebpfNetworkMonitoring:
   enabled: false

If you have Istio deployed in your cluster, Network Topology is still available even after disabling eBPF network monitoring. Istio provides its own traffic visibility that the SWO K8s Collector can use to reconstruct network relationships.

However, if you don’t use Istio, your nodes meet the OS and kernel requirements and you have shell access to them, you can proceed with the following troubleshooting guide.

Troubleshooting Kernel Headers

If the swo-k8s-collector-kernel-collector pods are still failing despite meeting system requirements, check the pod logs. If you see errors similar to the following, it's likely that the kernel headers or required repositories are missing on your node:

  • Failed to download metadata for repo ...

  • No match for argument: kernel-devel-...

Follow the steps below on the affected node to resolve the issue. If you don’t have shell access to the node or encounter different errors, SolarWinds recommends disabling ebpfNetworkMonitoring.

Step 1: Enable the Development Repository

Debian-based systems

Install development tools:

sudo apt update
sudo apt install -y build-essential

RHEL-based systems

Enable the devel repository:

sudo dnf config-manager --set-enabled devel

If the devel repository is unavailable, try the following:

sudo dnf config-manager --set-enabled crb

Step 2: Manually install the required package

Debian-based systems

sudo apt install -y "linux-headers-$(uname -r)"

RHEL-based systems

sudo dnf install -y "kernel-devel-$(uname -r)"

If your version is unavailable, check for available versions and install the closest one:

Debian-based systems

sudo apt list --all-versions linux-headers

RHEL-based systems

sudo dnf list kernel-devel --showduplicates

Step 3: Verify the installation

Check that the correct headers are installed:

Debian-based systems

ls -l /usr/src/linux-headers-$(uname -r)

RHEL-based systems

ls -l /usr/src/kernels/$(uname -r)