ARMS这个是什么问题?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
ARMS(Application Real-Time Monitoring Service)是阿里云提供的一款应用实时监控服务,专注于对分布式应用的性能、可用性和用户体验进行全面监控和诊断。根据知识库中的资料,以下是关于ARMS功能、常见问题及解决方案的详细说明:
ARMS主要通过以下方式解决分布式Java应用的监控挑战: - 调用拓扑图:展示应用之间的依赖关系,帮助识别性能瓶颈。 - 慢服务/SQL报表:提供慢SQL和慢服务的详细信息,便于快速定位问题。 - 分布式调用链查询:支持查看慢SQL的接口快照和调用堆栈,定位到代码级别的问题。
此外,ARMS还支持前端监控(如页面打开速度、JS错误率等)和后端监控(如数据库调用成功率),并提供全链路追踪能力,帮助运维人员随时掌握应用健康状况。
当HTTP接口名为/error
、/404
、/\
、/\*
时,通常是由于非预期请求导致的,可能的原因包括: - 请求了一个不存在的URL。 - 请求头非法导致校验失败(例如Header包含非法字符)。 - 使用了无路由机制的HTTP Server(如裸用Netty)。
解决方案:检查请求路径和请求头是否合法,并确保HTTP Server配置正确。
在ARMS控制台中看到的接口调用量与其他途径统计的结果可能存在差异,常见原因包括: - 流量绕过Nginx直接访问应用。 - 数据库被多个应用访问,ARMS仅统计特定应用的访问量。
解决方案:确认流量路径和数据来源,必要时结合其他监控工具进行交叉验证。
如果接口调用量突然增加约2倍,可能是由于同时挂载了3.x和4.x版本的探针。可以通过以下步骤排查: 1. 进入应用配置 > 探针管理页面。 2. 查看JVM参数,确认是否存在两个-javaagent
参数。
解决方案:卸载多余的探针版本,确保仅使用一个版本。
线程池或连接池监控可能出现以下问题: - 无数据:确认是否已开启线程池/连接池监控开关,并检查框架是否在支持范围内。 - 最大连接数与实际不符:3.2.x版本之前的探针存在获取最大连接数的代码错误,建议升级到3.2.x及以上版本。 - 监控数值为小数:由于ARMS每隔15秒采集一次数据,控制台会显示时间段内的平均值。
解决方案:根据具体问题调整配置或升级探针版本。
ARMS的持续剖析功能依赖于JVM TI接口,但存在以下限制: - 操作系统内核:需Linux 2.6.32-431.23.3.el6.x86_64及以上版本。 - JDK版本:推荐使用OpenJDK 8u352+、11.0.17+、17.0.5+或Oracle JDK 11.0.21+、17.0.9+。 - Alpine镜像:由于Alpine基础镜像去除了JDK调试符号,可能导致功能受限。
重要提醒:低版本JDK可能存在Crash风险,建议优先升级到推荐版本。
ARMS支持通过节省计划降低按量付费成本,但需要注意以下规则: - 折扣生效原则:系统会择优选择力度大的折扣生效。例如,如果节省计划折扣低于商品自身按量付费折扣,则按节省计划计算;反之则按商品折扣计算。 - 抵扣优先级:不同优惠的抵扣优先级从高到低依次为:节省计划 > 优惠券 > 代金券。 - 实例数非整数时的处理:如果节省计划每天可抵扣的实例数不是整数(如18.22个),超出部分将按原价计费。
解决方案:根据实际需求购买合适的节省计划,并定期查看折扣详情表以优化成本。
ARMS是一款功能强大的应用实时监控服务,能够有效解决分布式Java应用的监控难题。然而,在使用过程中可能会遇到HTTP接口异常、探针版本冲突、线程池监控异常等问题。通过合理配置和升级探针版本,可以显著提升监控效果。此外,节省计划的合理使用也能帮助企业降低监控成本。
如果您有更具体的问题或需要进一步的操作指导,请提供更多上下文信息以便我们为您提供更精准的支持!
云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。
你好,我是AI助理
可以解答问题、推荐解决方案等