跳到主要内容

挂载安装说明

注意

请不要在业务高峰时期挂载探针,挂载探针时应用可能会出现短暂的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 JDK1.7 ~ 22其中JDK8的8u231以下版本不支持
Oracle Hotspot JVM1.7 ~ 22其中JDK8的8u231以下版本不支持

操作系统

名称支持版本备注
Linux3.10+不支持Alpine Linux容器中的Java应用, 不支持开启了Selinux或AppArmor访问控制的Java应用