经典的 Dynatrace 监控通过使用代理来监控 java 进程。您必须将代理添加到受监控的虚拟机中,然后它就可以工作了。
Dynatrace OneAgent 无需代理即可完成此操作。但它是如何运作的。Java 进程中没有添加任何代理。所需要的只是重新启动 Java 进程。使用 Liberty Server 进行尝试,可以找到两个名为 ruxitautosensor 和 ruxitsubpathsender 的 Dynatrace 线程。但我不明白注射是如何工作的。
Dynatrace OneAgent 更改了操作系统中的“/etc/ld.so.preload”文件:
/$LIB/liboneagentproc.so
Run Code Online (Sandbox Code Playgroud)
“/etc/ld.so.preload”和环境变量“LD_PRELOAD”用于在启动新进程时预加载指定的库。