开发者社区 问答 正文

通用操作有哪些?


由于应用是部署并运行在 Tomcat 容器中,EDAS 提供了容器监控功能——应用诊断,为您提供相应数据来判断内存,类冲突等应用运行问题。EDAS 针对应用容器提供了详细的统计功能,可以为开发者提供当前应用运行机器上的 JVM 堆/非堆内存、类加载(Class Loader)、线程、Tomcat 连接器的统计数据。与基础监控一样,可查看应用下的单机数据。
容器监控(应用诊断)和基础监控的不同之处如下:

  • 监控对象不一样,基础监控面向的是机器,容器监控面向是应用所在的容器。
  • 应用诊断不支持“集群”方式查看诊断信息,仅支持单机查看。
  • 基础监控存在一定的时延,容器监控除了内存监控外,其他数据由于不需要后续的统计计算,所以几乎是实时的。

查看容器具体信息,请按以下步骤操作:

  1. 登录 EDAS 控制台,在左侧导航栏中单击 [backcolor=transparent]应用管理,在应用列表中单击具体的应用。

  2. 在应用详情页面左侧的导航栏中选择 [backcolor=transparent]应用诊断 ,进入应用诊断页面。

  3. 单击 [backcolor=transparent]ECS 实例(实例ID/名称/IP)右侧的下拉箭头,选择机器。

    上图说明该应用的几乎没有负载,如果“忙碌线程数”快接近所配置的线程池最大值时,说明系统正面临着严重的并发问题,此时应该考虑将应用扩容或者优化业务代码。

展开
收起
猫饭先生 2017-10-26 10:30:36 1622 分享 版权
阿里云 AI 助理回答

监控与运维

问题描述: 用户希望了解如何使用EDAS提供的容器监控功能(应用诊断)来监控部署在Tomcat容器中的应用,特别是关注内存、类加载冲突等运行问题。同时,用户想明确容器监控与基础监控之间的区别,并询问如何具体操作以查看容器的详细信息。

背景信息: - EDAS Container:为HSF应用提供运行环境,支持对应用进行深度监控和管理。 - 应用诊断:EDAS针对应用实例提供的高级监控能力,包括JVM堆/非堆内存状态、类加载器详情、线程使用情况及Tomcat连接器统计等,有助于快速定位和解决应用层面的问题。 - 监控差异:基础监控侧重于机器层面的资源使用情况,而容器监控专注于应用容器内部的状态,提供更细致的应用运行数据,且部分数据实时性更强。

解决方案

  1. 访问EDAS控制台:首先,登录阿里云EDAS控制台,确保您已选择正确的地域和微服务空间。

  2. 导航至应用管理:在左侧菜单栏中找到并点击“应用管理”,这将展示您的应用列表。

  3. 选择目标应用:从应用列表中,单击您想要诊断的应用名称,进入该应用的详情页面。

  4. 进入应用诊断:在应用详情页面的左侧导航栏中,选择“应用诊断”选项。这里集中展示了与应用运行状况相关的深入分析工具。

  5. 查看单机诊断信息:在“ECS实例(实例ID/名称/IP)”部分,您会看到关联的机器列表。点击某个实例右侧的下拉箭头,选取特定的机器进行查看。此步骤让您能聚焦到单个应用实例的运行细节上。

  6. 分析监控指标

    • 内存监控:检查JVM堆内存(包括老年代、年轻代Eden区和Survivor区)以及非堆内存(如直接缓冲区)的使用情况,评估内存是否充足或存在泄露。
    • 类加载:通过类加载器统计数据,识别是否有类冲突或过多的类加载导致的问题。
    • 线程分析:观察线程池中忙碌线程的数量,如果接近最大值,表明系统可能正承受高并发压力,需考虑扩容或代码优化。

注意事项: - 即时性差异:基础监控数据更新可能存在延迟,而应用诊断中的某些数据(除内存外)近乎实时,适合快速故障排查。 - 单机视角:应用诊断主要提供单机视图,不支持集群级别的汇总视图,适用于逐个排查实例问题。

参考资料: - 相关文档提供了EDAS基本概念、JVM监控操作步骤及K8s应用配置的详细说明。

通过上述步骤,您可以有效利用EDAS的容器监控(应用诊断)功能,对部署在Tomcat容器中的应用进行深入监控和问题诊断。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答