09 Jul 2024 09:37 PM
Hello,
We're currently facing a challenge with setting up instrumentation for ingress nginx within a Kubernetes cluster managed by Rancher. We're using Nginx version 1.19.10 on CentOS Linux 7.
Following the steps outlined in Instrument ingress-nginx - Dynatrace Docs, we updated the nginx config map to include the Nginx module. However, this resulted in errors within the Nginx pods. The error message indicates a failure to load the shared library ld-linux-x86-64.so.2, which is required by /opt/dynatrace/oneagent/agent/bin/current/linux-x86-64/liboneagentnginx.so, as detailed in the error log. Could anyone shed light on why the shared library fails to load?
Error reloading NGINX: ------------------------------------------------------------------------------- Error: exit status 1 2024/07/09 18:20:32 [emerg] 888#888: dlopen() "/opt/dynatrace/oneagent/agent/bin/current/linux-x86-64/liboneagentnginx.so" failed (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /opt/dynatrace/oneagent/agent/bin/current/linux-x86-64/liboneagentnginx.so)) in /tmp/nginx/nginx-cfg2083950123:15 nginx: [emerg] dlopen() "/opt/dynatrace/oneagent/agent/bin/current/linux-x86-64/liboneagentnginx.so" failed (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /opt/dynatrace/oneagent/agent/bin/current/linux-x86-64/liboneagentnginx.so)) in /tmp/nginx/nginx-cfg2083950123:15 nginx: configuration file /tmp/nginx/nginx-cfg2083950123 test failed
OneAgent version is 1.293.153
09 Jul 2024 09:47 PM - edited 09 Jul 2024 10:00 PM
Also, ingress-nginx process has this warning:
10 Jul 2024 07:48 AM
You can try with manual approach
https://docs.dynatrace.com/docs/shortlink/nginx-manual-runtime-instrumentation
10 Jul 2024 12:45 PM
Did anything change in OneAgent version 1.293? It was working properly before this version.
10 Jul 2024 01:35 PM
I've already seen that, but it doesn't clarify why the Nginx instrumentation has begun to cause problems.
12 Jul 2024 09:31 AM
Hi @YuriiB
Did you try to use earlier version of OA (instead of latest, request a specific old version)?
Yos
29 Jul 2024 06:50 PM - edited 29 Jul 2024 06:52 PM
I wanted to let you know that we've identified the cause of the nginx instrumentation issue. According to the Dynatrace documentation we followed, found here Instrument ingress-nginx - Dynatrace Docs, it recommends using the following entry under the main-snippet key: load_module /opt/dynatrace/oneagent/agent/bin/current/linux-musl-x86-64/liboneagentnginx.so;
This solution is effective for certain Linux operating systems, such as Cento OS, but not for others. For instance, on Linux Rocky 9, the correct module to load is /opt/dynatrace/oneagent/agent/bin/current/linux-x86-64/liboneagentnginx.so;
Initially, when we enabled nginx instrumentation, we used the correct library path. However, after temporarily disabling it to assess its impact on performance and later re-enabling it by following the DT documentation, we encountered this issue. This led us to believe the problem might be related to the new version of OA.
It would be helpful if DT could reflect this variation across different Linux versions in that page.