Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OTEL-ebpf kernel-colletor is failing with OS Linux/unknown: unsupported_distro error - Talos Linux #1321

Open
suresh-target opened this issue Aug 29, 2024 · 7 comments
Labels
chart:ebpf Issues related to opentelemetry-ebpf helm chart

Comments

@suresh-target
Copy link

Hello Team,

We are facing following error while trying to deploy otel-ebpf using the helm chart opentelemetry-ebpf into a K8s cluster which is using Talos Linux

Reducer logs

2024-08-29 05:20:31.639238+00:00 error [p:1 t:14] error while booting up client kernel at talos-6abcb running under OS Linux/unknown: unsupported_distro
2024-08-29 05:20:33.641418+00:00 error [p:1 t:14] client log from kernel collector 0.10.2 at 'talos-6abcb': entrypoint error unsupported_distro (os=Linux,flavor=0,headers_src=unknown,kernel=5.15.83-talos)

Agent info:
	Version:               0.10.2
	OS:                    Linux (unknown)
	Kernel:                5.15.83-talos
	CPU Cores:             56
	Hostname:              talos-6abcde2
	Collector:             kernel
	Kernel Headers Source: unknown
	Entrypoint Error:      unsupported_distro
	Role:                  (unknown)
	AZ:                    (unknown)
	Id:                    talos-6abcde2
	Instance:              (unknown)
	Agent:                 2455545850270866858
	Overrides:
		namespace:
		cluster:
		service:
		host:
		zone:
	IPs:

kernel-collector logs

--- BEGIN log from kernel headers resolution with error 'unsupported_distro': -------------
+ kernel_headers_info_path=/var/run/ebpf_net/kernel_headers.cfg
++ uname -r
+ kernel_version=5.15.83-talos
+ kernel_headers_usr_src_base_path=/usr/src
+ kernel_headers_lib_modules_base_path=/lib/modules
+ host_dir=/hostfs
+ host_etc_dir=/hostfs/etc
+ host_yum_vars_dir=/hostfs/etc/yum/vars
+ host_cache_dir=/hostfs/cache/ebpf_net
+ host_usr_src_dir=/hostfs/usr/src
+ host_lib_modules_dir=/hostfs/lib/modules
+ host_kernel_headers_dir=/hostfs/lib/modules/5.15.83-talos
+ host_cache_kernel_headers_dir=/hostfs/cache/ebpf_net/kernel-headers
+ host_cache_kernel_headers_archive=/hostfs/cache/ebpf_net/kernel-headers/5.15.83-talos.tar.gz
+ kernel_headers_lib_modules_path=/lib/modules/5.15.83-talos
+ kernel_headers_beacon_path=("build/include/linux/tcp.h" "source/include/linux/tcp.h")
+ entrypoint_error=
+ kernel_headers_source=unknown
++ detect_distro
++ debian_os_file=/hostfs/etc/debian_version
++ os_release_file=/hostfs/etc/os-release
++ system_release_file=/hostfs/etc/system-release
++ [[ -e /hostfs/etc/debian_version ]]
++ [[ -e /hostfs/etc/os-release ]]
+++ grep '^ID=' /hostfs/etc/os-release
+++ sed -e 's/ID=\(.*\)/\1/g' -e 's/"//g'
++ os_id=talos
++ case "${os_id}" in
++ [[ -e /hostfs/etc/system-release ]]
++ echo unknown
+ host_distro=unknown
+ resolve_kernel_headers
+ check_kernel_headers_installed
+ base_dir=/lib/modules/5.15.83-talos
+ [[ -n '' ]]
+ for header_file in "${kernel_headers_beacon_path[@]}"
+ [[ -e /lib/modules/5.15.83-talos/build/include/linux/tcp.h ]]
+ for header_file in "${kernel_headers_beacon_path[@]}"
+ [[ -e /lib/modules/5.15.83-talos/source/include/linux/tcp.h ]]
+ return 1
+ use_host_kernel_headers
+ [[ -e /usr/src ]]
+ rm -rf /usr/src
+ [[ -e /lib/modules ]]
+ [[ -e /hostfs/usr/src ]]
+ ln -s /hostfs/usr/src /usr/src
+ [[ -e /hostfs/lib/modules ]]
+ ln -s /hostfs/lib/modules /lib/modules
+ check_kernel_headers_installed /hostfs/lib/modules/5.15.83-talos
+ base_dir=/lib/modules/5.15.83-talos
+ [[ -n /hostfs/lib/modules/5.15.83-talos ]]
+ base_dir=/hostfs/lib/modules/5.15.83-talos
+ for header_file in "${kernel_headers_beacon_path[@]}"
+ [[ -e /hostfs/lib/modules/5.15.83-talos/build/include/linux/tcp.h ]]
+ for header_file in "${kernel_headers_beacon_path[@]}"
+ [[ -e /hostfs/lib/modules/5.15.83-talos/source/include/linux/tcp.h ]]
+ return 1
+ check_kernel_headers_installed
+ base_dir=/lib/modules/5.15.83-talos
+ [[ -n '' ]]
+ for header_file in "${kernel_headers_beacon_path[@]}"
+ [[ -e /lib/modules/5.15.83-talos/build/include/linux/tcp.h ]]
+ for header_file in "${kernel_headers_beacon_path[@]}"
+ [[ -e /lib/modules/5.15.83-talos/source/include/linux/tcp.h ]]
+ return 1
+ return 1
+ use_cached_kernel_headers
+ [[ ! -e /hostfs/cache/ebpf_net/kernel-headers/5.15.83-talos.tar.gz ]]
+ [[ -d /hostfs/cache/ebpf_net/kernel-headers ]]
+ return 1
+ [[ true == \f\a\l\s\e ]]
+ echo 'no kernel headers found, attempting to auto-fetch...'
no kernel headers found, attempting to auto-fetch...
+ install_kernel_headers
+ [[ -e /usr/src ]]
+ rm -rf /usr/src
+ [[ -e /lib/modules ]]
+ rm -rf /lib/modules
+ case "${host_distro}" in
+ entrypoint_error=unsupported_distro
+ return 1
+ [[ -z unsupported_distro ]]
+ cat
---  END  log from kernel headers resolution with error 'unsupported_distro': -------------
launching kernel collector...
+ exec /srv/kernel-collector --host-distro unknown --kernel-headers-source unknown --entrypoint-error unsupported_distro --config-file=/etc/network-explorer/config.yaml --disable-nomad-metadata --warning

Automatically fetching kernel headers for the Linux distro 'unknown' is currently unsupported.

Node details are as below

NAME            STATUS   ROLES                  AGE    VERSION
talos-6abcde2   Ready    control-plane,master   337d   v1.26.3
talos-6fghij2   Ready    control-plane,master   337d   v1.26.3
Copy link

dosubot bot commented Aug 29, 2024

Hello @suresh-target 👋, I'm here to help you with your technical issues. I can assist you in solving bugs, answering questions, and even becoming a contributor while you wait for a human maintainer.

¿Podrías proporcionar más detalles sobre la configuración de tu entorno? Específicamente:

  1. ¿Qué versión de Talos Linux estás utilizando?
  2. ¿Has intentado instalar manualmente los headers del kernel en los nodos de Talos Linux?
  3. ¿Tienes acceso a los archivos de configuración del Helm chart que estás utilizando para desplegar otel-ebpf?
  4. ¿Hay algún ajuste o personalización específica que hayas realizado en el Helm chart o en la configuración del cluster?

Estos detalles adicionales pueden ayudar a identificar la causa del problema y encontrar una solución adecuada.

To continue talking to Dosu, mention @dosu.

@dosubot dosubot bot added the chart:ebpf Issues related to opentelemetry-ebpf helm chart label Aug 29, 2024
@suresh-target
Copy link
Author

My Answers are as below
@dosu

  1. Talos Version - Talos (v1.2.9) , kernel version - 5.15.83-talos
  2. No, I never tried to install kernel headers manually
  3. Yes, i have access to the helm chart configuration files
  4. No, I have not made any configuration changes to the helm chart

Copy link

dosubot bot commented Aug 29, 2024

¿Podrías verificar si los headers del kernel están disponibles en el directorio /lib/modules/5.15.83-talos en tus nodos de Talos Linux? Si no están presentes, podrías intentar instalarlos manualmente. Además, ¿podrías compartir el contenido del archivo de configuración del Helm chart que estás utilizando? Esto podría ayudar a identificar cualquier posible problema de configuración.

To continue talking to Dosu, mention @dosu.

@suresh-target
Copy link
Author

@dosu
Yes, kernel headers are available at /lib/modules/5.15.83-talos

 .
kernel
modules.alias
modules.alias.bin
modules.builtin
modules.builtin.bin
modules.builtin.modinfo
modules.dep
modules.dep.bin
modules.devname
modules.order
modules.softdep
modules.symbols
modules.symbols.bin

Copy link

dosubot bot commented Aug 29, 2024

¿Podrías verificar si los headers del kernel están disponibles en los subdirectorios build o source dentro de /lib/modules/5.15.83-talos? Específicamente, busca archivos como tcp.h en las rutas /lib/modules/5.15.83-talos/build/include/linux/tcp.h o /lib/modules/5.15.83-talos/source/include/linux/tcp.h.

Además, ¿podrías compartir el contenido del archivo de configuración del Helm chart que estás utilizando? Esto podría ayudar a identificar cualquier posible problema de configuración.

To continue talking to Dosu, mention @dosu.

@suresh-target
Copy link
Author

suresh-target commented Aug 29, 2024

@dosu
The path /lib/modules/5.15.83-talos/build is not existing in the node,

Not using any custom helm chart configuration so far, trying with default one.

Copy link

dosubot bot commented Aug 29, 2024

¿Podrías verificar si hay algún paquete disponible para instalar los headers del kernel en Talos Linux? Tal vez puedas encontrar un paquete específico para tu versión de Talos Linux que contenga los headers necesarios.

Además, ¿podrías compartir el comando exacto que estás utilizando para desplegar otel-ebpf con Helm? Esto podría ayudar a identificar si hay algún parámetro que necesite ser ajustado.

To continue talking to Dosu, mention @dosu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chart:ebpf Issues related to opentelemetry-ebpf helm chart
Projects
None yet
Development

No branches or pull requests

1 participant