首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dynatrace是如何注入Java的

Dynatrace是如何注入Java的
EN

Stack Overflow用户
提问于 2017-04-08 08:58:43
回答 3查看 4.1K关注 0票数 3

经典的Dynatrace监控是通过使用代理来监视java进程来完成的。您必须将代理添加到受监视的VM中,并且它工作了。

Dynatrace在没有代理的情况下这样做。但它是如何工作的。Java进程中没有添加代理。所需要的就是重新启动Java进程。尝试了自由服务器,可以找到两个Dynatrace线程,称为ruxitautosensor和ruxitsubpathsender发件人。但我不明白注射是如何运作的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-10 18:57:54

在非常高的级别上,安装的OS级代理运行一些进程,这些进程使用OS级别的功能来迭代机器上的进程,并通过各种不同的技术将代理注入到所有支持“深度监视”的技术中,例如Java、.NET和许多其他技术。

由于明显的原因,可能没有发布更多细节,因为与传统的通过调整启动脚本手动注入代理的方法相比,所有这些都具有明显的优势,特别是在部署到非常大的环境中时。

票数 -2
EN

Stack Overflow用户

发布于 2019-10-18 08:33:53

Dynatrace在操作系统中更改了"/etc/ld.so.preload“文件:

代码语言:javascript
复制
/$LIB/liboneagentproc.so

"/etc/ld.so.preload“和env变量"LD_PRELOAD”用于在启动新进程时预加载指定的lib。

票数 5
EN

Stack Overflow用户

发布于 2018-10-29 19:02:56

在我看来,他们使用的是标准的工具接口API。

-agentpath:<path-to-agent>=<options>到JVM。

这里有完整的文档:https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html

示例:-agentpath:C:/PROGRA~2/DYNATR~1/oneagent/agent/lib64/oneagentloader.dll=isjdwppresent=true,loglevelcon=none,tenant=00000000-0000-0000-0000-000000000000,tenanttoken=XXXXXXXXXXXXXXXX,server=https://10.10.10.10:8443/communication

注意:有些字符串被混淆了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43292088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档