挂载安装说明
注意
请不要在业务高峰时期挂载探针,挂载探针时应用可能会出现短暂的Safepoint,这会影响应用的业务处理。
相关问题
-
Jetty9.4.16 和 9.4.17 可能出现卡死现象,建议暂不使用。
-
如果您使用的是Java 8,请升级到Java 8 1.8.0_231或更高版本。Java 8 1.8.0_231之前的版本中 有许多与类Retransform相关的已知问题。因此,您必须升级到更高版本,因为其中修复了一些崩溃问题。
-
以Debug方式启动应用时,挂载探针再卸载后,应用可能发生崩溃,并报如下错误:
JDWP exit error AGENT_ERROR_INVALID_EVENT_TYPE(204): ExceptionOccurred [eventHelper.c:834]
FATAL ERROR in native method: JDWP ExceptionOccurred, jvmtiError=AGENT_ERROR_INVALID_EVENT_TYPE(204)
-
挂载探针会对应用启动时间有一定的影响,SpringBoot应用启动时间增加约10%。
-
在挂载模式下部署探针,Resin 4.0.12,RESTEasy,CompletableFuture可能采集不到数据【偶发】。
-
在挂载模式下部署探针,可能采集不到Jedis数据【偶发】。
-
在挂载模式下部署探针,无法采集容器的Dispatcher Version和Dispatcher Name。
-
新版本的Java Agent的在挂载模式下,不支持Java Agent API。
技术优势
挂载探针是通过 JavaAgent 的 Attach 技术实现的,这种实现方法带来了高度的实时性、灵活性和适应性等多重优势。尤其是通过 Java
应用运行时动态挂载探针的特性,无需重新启动应用程序,使监控在生产环境中更为便捷。同样的技术原理也使得在应用正常运行的情况下卸载探针成为可能,探针能够自动还原字节码,不对应用的业务处理逻辑造成任何影响。这种灵活性和自动化的卸载过程使得监控系统的维护更加便捷,维护者可以根据实际需要动态地挂载或卸载探针,实现对应用性能和行为的精准调控。这种操作的可行性和效果,为监控系统的优化和定制提供了更高的可操作性。
前提条件
- 在安装探针前,请先安装好 Agent Collector。
- 在安装探针前,需要先确保本地浏览器时间与服务器时区、时间都一致。若有多个服务器,则要保证本地浏览器、多个服务器的时区、时间都一致。否则,可能会影响数据的准确性,例如拓扑不正确等。
- 如是私有化部署环境,请确定平台上有4.3.0.0+的UniAgent
- 已经通过-javaagent的方式安装探针的应用,不支持挂载/卸载操作
- 挂载探针的应用可用的堆空间需要大于500MB
- 挂载探针的应用剩余可用的元空间(永久代)应该大于50MB
- 在 OpenJDK、Oracle HotSpot 上,请确保tools.jar文件在每个受监控 JVM 的运行时中可用。该文件位于 $JAVA_HOME/lib/tools.jar。
挂载探针
- 部署UniAgent,部署方法请参考 UniAgent>自动部署
- 在轻应用列表中选择UniAgents管理页面中找到部署探针的主机,点击主机查看主机上的进程列表,单击进程列表内关注的进程,在右侧 **操作 选择 启用 **按钮进行运行时挂载探针
卸载探针
- 已经挂载探针应用,可以在UniAgents管理页面中找到部署探针的主机,点击主机查看主机上的进程列表,单击进程列表内关注的进程,可以单击下图右侧卸载按钮进行运行时卸载探针
- 仅支持对使用挂载操作安装探针的应用进行卸载操作,其他方式安装探针的应用请使用禁用操作
支持列表
以下为挂载探针支持的列表,如果应用环境不符合以下支持列表,请使用手动安装方式。
JVM
| 名称 | 支持版本 | 备注 |
|---|---|---|
| Open JDK | 1.7 ~ 22 | 其中JDK8的8u231以下版本不支持 |
| Oracle Hotspot JVM | 1.7 ~ 22 | 其中JDK8的8u231以下版本不支持 |
操作系统
| 名称 | 支持版本 | 备注 |
|---|---|---|
| Linux | 3.10+ | 不支持Alpine Linux容器中的Java应用, 不支持开启了Selinux或AppArmor访问控制的Java应用 |