ARMS同步加载方式接入 有日志上报 但应用看不到监控数据可能是什么原因?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在ARMS同步加载方式接入后,如果日志显示有数据上报,但应用监控页面看不到监控数据,可能是由于以下原因导致的。以下是详细的排查步骤和可能的原因分析:
确认Agent是否正确加载
如果ArmsAgent/log/
目录下没有生成日志文件,说明Agent未被成功加载。请检查以下内容:
arms-bootstrap-1.7.0-SNAPSHOT.jar
文件路径正确。-javaagent
参数在-jar
之前。ArmsAgent
安装目录的权限是否正确。验证LicenseKey有效性
如果日志中出现LicenseKey is invalid.
异常,请检查以下内容:
curl
或telnet
命令检查上报地址和端口是否可用。例如:
telnet tracing-analysis-dc-hz.aliyuncs.com 8090
如果无法连接,请检查ECS的安全组设置和网络配置。
确认应用是否有持续的外部请求访问
如果Agent日志中出现send agent metrics. no metrics.
,请确认以下内容:
检查JDK版本兼容性
如果应用使用的是JDK 17或Spring Boot 3.0,请注意以下事项:
javax
升级到jakarta
。如果存在低版本Servlet-api依赖,可能导致埋点失败。pom.xml
中添加以下依赖:
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
</dependency>
feign:
okhttp:
enabled: true
hystrix:
enabled: false
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
public class FeignClientOkHttpConfiguration {
@Bean
public OkHttpClient okHttpClient() {
return new OkHttpClient.Builder()
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.writeTimeout(20, TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.connectionPool(new ConnectionPool())
.build();
}
}
确认查询时间范围是否正确
在ARMS控制台中,将查询时间条件设为最近15分钟,再次确认是否有监控数据。
检查数据延迟
如果数据上报正常但监控页面无数据,可能存在数据延迟。建议等待几分钟后重新查看。
如果经过上述排查仍无法解决问题,请执行以下操作: - 将Java Agent日志(路径:ArmsAgent/log
)保存为压缩文件。 - 联系钉钉服务账号arms160804
或提交工单,提供详细日志和问题描述以获取进一步支持。
-javaagent
参数在-jar
之前,否则可能导致Agent无法加载。通过以上步骤,您可以系统性地排查并解决ARMS监控数据缺失的问题。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。