全部产品
Search
文档中心

应用实时监控服务ARMS:探针接入问题

更新时间:Dec 09, 2024

如何查看探针日志

  • 日志默认位置:${agent根目录}/logs/${pid}_${ip}.log

    不同的接入方式下${agent根目录}分别为:

    • 容器、EDAS、SAE场景:/home/admin/.opt/ArmsAgent/或者/home/admin/.opt/AliyunJavaAgent

    • 手动接入场景:下载并解压探针的目录。

    • 如果无法确定,可以执行ps ef | grep java命令查看进程的启动命令,在启动命令中会通过-javaagent参数指定探针包位置,也就是探针根目录。例如看到-javaagent:/home/zhangsan/agent/arms-bootstrap-1.7.0-SNAPSHOT.jar,则探针根目录是/home/zhangsan/agent

  • 自定义日志位置:如果手动修改过启动参数-DJM.LOG.PATH=xxx,则日志目录在${JM.LOG.PATH}/${pid}_${ip}.log

探针接入无数据

  1. 确定探针是否成功启动。

    1. 检测用户应用刚启动时的标准输出日志是否有加载探针成功的关键字。

      对于3.x版本,探针挂载成功会包含(AliyunJavaAgentBootstrap) arms agent start cost

      对于4.x版本探针,探针挂载成功会有包含Aliyun Java Agent start cost:的日志。

      如果包含对应信息,则代表探针挂载成功,如果没有,则代表用户未挂载探针或者探针预检失败,拒绝挂载,且会有日志说明,例如Aliyun Java Agent requires minimal memory of 200M

    2. 确认探针挂载成功后,查看探针日志中启动阶段日志是否有异常,如果是java.security.NoSuchAlgorithmException: DES KeyGenerator not available异常,可升级4.x探针解决,如果不是请提交工单

      说明

      探针日志位置可参考上文如何查看探针日志

  2. 如果探针启动正常,执行以下步骤继续排查。

    1. 通过在探针日志中搜索regionId关键字确定当前探针上报数据地域,确认控制台地域和探针上报地域是否一致。

    2. 探针是否有网络连通性相关报错,如果有,建议按照Java应用监控网络配置文档确认网络相关问题。

    3. 当前应用是否确实有流量。

  1. 以上排查均正常还是无数据,请提交工单

是否支持为整个集群指定探针版本,而非为单个Deployment指定探针版本

支持,但目前只支持后台设置,请提交工单或者联系技术支持进行配置。

挂载Pinpoint探针后再挂载ARMS探针无数据

  • ARMS 3.x版本探针基于Pinpoint探针二次开发,与Pinpoint探针只能二选一。

  • ARMS 4.x版本探针基于OpenTelemetry Java Agent二次开发,可以与Pinpoint探针同时挂载,但是不保证二者同时挂载的兼容性。

接入ARMS之后报错 java.lang.NoSuchMethodError: 'org.springframework.http.HttpStatus

对于3.2.0之前版本探针,使用EDAS的方式接入ARMS且开启-Dedas.scg.enable功能时会自动将com.navercorp.pinpoint.plugin.reactive.filter.AccessLogFilte添加到用户的filter chain中,由于该filter未适配spring boot3.导致出现该问题。当前问题已在3.2.0及之后版本中修复。

探针日志中包含 logContent rate limit count

这个提示信息是说明当前探针打印日志量过多被限流,限流是为了防止打印过多日志对应用性能产生影响,并不是说明探针存在异常。