cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Has the location of liboneagentproc.so moved?

r_weber
DynaMight Champion
DynaMight Champion

I've noticed that the location of liboneagentproc.so on linux installation seems to have moved at some point/update?
In the past sysadmins added the library path to LD_PRELOAD (per process) to allow injection into specific processes only. Back then the way to do this was by pointing to 

/opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so

Now this seems to have silently moved to:

/lib/x86_64-linux-gnu/liboneagentproc.so

and thus this way of injection doesn't work anymore?

 

Does anyone. have any information on this?

KR

Certified Dynatrace Master, Dynatrace Partner - 360Performance.net
6 REPLIES 6

AntonioSousa
DynaMight Guru
DynaMight Guru

@r_weber,

First one I checked just introduced more variation:

# find . -name liboneagentproc.so
/usr/lib/x86_64-linux-gnu/liboneagentproc.so
/opt/dynatrace/oneagent/agent/bin/1.283.132.20240205-143805/linux-x86-64/liboneagentproc.so
/opt/dynatrace/oneagent/agent/bin/1.283.132.20240205-143805/linux-x86-32/liboneagentproc.so

Tried looking inside the installation script, but couldn't find immediate references.

I imagine it may vary by distribution. In the case I checked, Ubuntu 20.04.3 LTS.

Antonio Sousa

Something definitely has changed...
Even the documentation for manual application level injection still states to use the library at /opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so but it doesn't exist anymore.
I agree with @Julius_Loman on having it at a system path makes more sense and creates less room for error, but for existing installations simply removing the "old" path without a fallback can cause some nasty surprises!
Nothing in the release notes either ...

Certified Dynatrace Master, Dynatrace Partner - 360Performance.net

@r_weber one needs to distinguish manual injection (where it is correct to use the file path to the oneagent installation directory).

I believe the path is changed on OneAgent upgrades where the liboneagentproc is redeployed each time correctly. For example - if you install 32bit support, the installer will also add 32bit liboneagentproc to system libraries. 

Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

Julius_Loman
DynaMight Legend
DynaMight Legend

Yes and no 😁
The path depends on the Linux distribution and bitness. And it does not reference to /opt anymore but to the /lib (main system libraries or how is this called) - I mainly to ensure it is accessible every time the system boots. Inaccessible library specified in preload can be a pain.

Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

tijust1
Advisor

This was surprising, i had same issue and tried to figure out what went wrong, later on found directory structure has been changed from /opt to /lib in few cases...

 

Dynatrace Professional Certified

Romanenkov_Al3x
DynaMight Champion
DynaMight Champion

Not good at all... Changing paths without notice.

 

DT_NGINX_FORCE_UNKNOWN_VERSION_INSTRUMENTATION=1

Featured Posts