实例监控

Java应用安装探针后,云监控2.0即可开始监控Java应用,您可以在实例监控页面了解应用的基础监控、实例GCJVM内存等信息。

前提条件

为应用安装探针

功能体验

阿里云Playground提供了云监控2.0主要功能的演示环境,便于您快速了解及体验云监控2.0。

  1. 请访问 Playground Demo 演示环境,默认进入工作空间:o11y-demo-cn-hangzhou

  2. 在左侧导航栏选择应用中心 > 运维监控 > 应用实时监控(ARMS)

  3. 应用列表页面单击目标应用名称,然后在左侧导航栏单击实例监控

查看实例监控

  1. 登录云监控2.0控制台,选择目标工作空间,在左侧导航栏选择应用中心 > 运维监控 > 应用实时监控(ARMS)

  2. 应用列表页面单击目标应用名称,然后在左侧导航栏单击实例监控

页面说明

实例监控页面会根据应用接入的信息自动适配展示大盘,并针对ECS环境和容器环境做区别展示。

在容器场景下,如果已经接入可观测监控 Prometheus 版,则优先以可观测监控 Prometheus 版数据作为容器信息的展示。容器环境接入可观测监控 Prometheus 版的操作,请参见容器可观测

容器环境如果未接入可观测监控 Prometheus 版,需要确保应用监控探针版本在4.1.0或以上,对应数据展示容器的基础信息。应用监控探针说明,请参见探针(Java Agent)版本说明

ECS环境

  • 在快捷筛选区域,您可以按集群、实例对图表、实例列表进行筛选。

  • 在趋势图区域,您可以查看实例的基础监控、实例GCJVM内存的时序曲线。

    • 实例基础监控:应用在指定时间范围内CPU、内存和磁盘使用率趋势图。通过图标名称右侧的下拉框可以切换展示各使用率的平均值和最大值。

    • 实例GC:应用在指定时间范围内Full GCYoung GC的趋势图。通过图表名称右侧的下拉框可以切换展示GC的次数和平均耗时。

    • JVM内存:应用在指定时间范围内堆内存已使用和最大值趋势图。通过图标名称右侧的下拉框可以切换展示非堆内存已使用和最大值趋势图。

      说明

      应用监控采集的数据来自JMX,其中非堆内存所包含的内存区域比Java进程中实际的非堆内存区域少,因此可能会出现监控中堆内存+非堆内存总和与通过top命令看到的RES大小存在一定差值,相关细节请参见JVM监控内存详情说明

  • 在实例列表区域,您可以查看实例IP、CPU利用率、内存利用率、磁盘利用率、负载、Full GC次数、Young GC次数、堆内存使用量、非堆内存使用量、RED三指标(请求数、错误数、平均耗时)等信息。

    在实例列表,您可以执行以下操作:

    • 单击实例IP,可以查看实例详情。

    • 单击操作列的调用链,可以查看该实例的链路详情。

容器环境(Prometheus版)

  • 在快捷筛选区域,您可以按集群和主机地址对图表、实例列表进行筛选。

  • 在趋势图区域,您可以查看实例的基础监控、实例GCJVM内存的时序曲线。

    • 基础监控:应用在指定时间范围内CPU用量和内存用量趋势图。

    • 实例GC:应用在指定时间范围内Full GCYoung GC的趋势图。通过图表名称右侧的下拉框可以切换展示GC的次数和平均耗时。

    • JVM内存:应用在指定时间范围内堆内存已使用和最大值趋势图。通过图标名称右侧的下拉框可以切换展示非堆内存已使用和最大值趋势图。

      说明

      应用监控采集的数据来自JMX,其中非堆内存所包含的内存区域比Java进程中实际的非堆内存区域少,因此可能会出现监控中堆内存+非堆内存总和与通过top命令看到的RES大小存在一定差值,相关细节请参见JVM监控内存详情说明

  • 在实例列表区域,您可以查看实例IP、CPU用量、CPU请求、CPU限制、CPU利用率(未设置CPU限制时,此项展示为-)、内存用量、内存请求、内存限制、内存利用率(未设置内存限制时,此项展示为-)、磁盘用量、磁盘限制、磁盘利用率(未设置磁盘限制时,此项展示为-)、负载、Full GC 次数、Young GC 次数、堆内存使用量、非堆内存使用量、RED三指标(请求数、错误数、平均耗时)等。

    在实例列表,您可以执行以下操作:

    • 单击实例IP操作列的详情,可以查看实例详情。

    • 单击操作列的调用链,可以查看该实例的链路详情。

容器环境(自采集版)

  • 在快捷筛选区域,您可以按主机地址对图表、实例列表进行筛选。

  • 在趋势图区域,您可以查看实例的基础监控、实例GCJVM内存的时序曲线。

    • 基础监控:应用在指定时间范围内CPU用量和内存用量趋势图。

    • 实例GC:应用在指定时间范围内Full GCYoung GC的趋势图。通过图表名称右侧的下拉框可以切换展示GC的次数和平均耗时。

    • JVM内存:应用在指定时间范围内堆内存已使用和最大值趋势图。通过图标名称右侧的下拉框可以切换展示非堆内存已使用和最大值趋势图。

      说明

      应用监控采集的数据来自JMX,其中非堆内存所包含的内存区域比Java进程中实际的非堆内存区域少,因此可能会出现监控中堆内存+非堆内存总和与通过top命令看到的RES大小存在一定差值,相关细节请参见JVM监控内存详情说明

  • 在实例列表区域,您可以查看实例IP、CPU用量、内存用量、负载、Full GC 次数、Young GC 次数、堆内存使用量、非堆内存使用量、RED三指标(请求数、错误数、平均耗时)等。

    在实例列表,您可以执行以下操作:

    • 单击实例IP操作列的详情,可以查看实例详情。

    • 单击操作列的调用链,可以查看该实例的链路详情。

实例详情

实例概览

实例概览页签可以查看目标接口的请求数、错误数、平均耗时和慢调用信息。

JVM监控

JVM监控页签可以查看对应实例的GC、内存、线程、文件等信息。

线程池监控

4.1.x及以上探针版本

线程池监控页签可以查看应用所使用的线程池的各项指标,包括线程池初始化线程配置线程池运行态线程情况线程池任务执行情况。

在页签顶部可以按线程池类型和名称筛选需要查询的线程池。

展开查看线程池监控支持的框架

支持框架:

  • java.util.ThreadPoolExecutor:一般用于Tomcat8~9.1、Dubbo、HSF、Vertx以及用户自定义线程池。

  • org.apache.tomcat.util.threads.ThreadPoolExecutor:一般用于Tomcat9.1+。

  • org.eclipse.jetty.util.thread.QueuedThreadPool:一般用于Jetty。

  • org.xnio.XnioWorker:一般用于Undertow。

采集的指标如下:

指标名

支持框架

指标描述

arms_thread_pool_core_pool_size

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

核心线程数,一般是静态配置,不会改变。

arms_thread_pool_max_pool_size

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

最大空闲连接数,一般是静态配置,不会改变。

arms_thread_pool_active_thread_count

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

活跃线程数,即当前正在执行任务的线程。

arms_thread_pool_current_thread_count

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

  • QueuedThreadPool

当前线程数,包含活跃线程数和当前正在等待任务的线程数。

arms_thread_pool_max_thread_count

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

线程池历史最大线程数。

arms_thread_pool_scheduled_task_count

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

线程池调度任务数。

arms_thread_pool_completed_task_count

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

线程池执行完成任务数。

arms_thread_pool_rejected_task_count

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

  • QueuedThreadPool

线程池拒绝任务数。

arms_thread_pool_queue_size

  • ThreadPoolExecutor(JDK)

  • ThreadPoolExecutor(Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

线程池任务队列大小。

4.1.x以下探针版本

线程池监控页签可以查看应用所使用的线程池的核心线程数量、当前线程数量、最大线程数量、活跃线程数量、任务队列容量等指标。

展开查看线程池监控支持的框架

线程池监控支持Tomcat、HSF、Dubbo、Vert.xUndertow框架,其中,3.1.x及以下版本探针支持Undertow1.x~Undertow2.0.x版本线程池监控,3.2.x及以上版本探针支持Undertow所有版本线程池监控。

采集的指标如下:

指标名称

指标

线程池核心线程数

arms_threadpool_core_size

线程池最大线程数

arms_threadpool_max_size

线程池活跃线程数

arms_threadpool_active_size

线程池队列大小

arms_threadpool_queue_size

线程池当前大小

arms_threadpool_current_size

线程池监控支持SchedulerX框架,采集的指标如下:

指标名称

指标

线程池活跃线程数

arms_threadpool_active_size

连接池监控

4.1.x及以上探针版本

连接池监控页签可以查看应用所使用的连接池的各项指标,包括连接池初始化线程配置和连接池运行态线程情况。

展开查看连接池监控支持的框架

支持框架:DBCP(>2.0)、Vibur DBCP(>11.0)、c3p0(>0.9.2)、Druid、HikariCP(>3.0)、Jedis(>3.0)、Lettuce(>5.0)、Redisson(>3.0)。

采集的指标如下:

指标名

支持框架

指标描述

arms_connection_pool_connection_count

DBCP、c3p0、Vibur DBCP、Druid、Hikaricp、Jedis、Lettuce、Redisson

连接数,可通过State区分ActiveIdle连接数。

arms_connection_pool_connection_min_idle_count

DBCP、Jedis、Druid、HikariCP、Lettuce

最小空闲连接数,一般是静态配置,不会改变。

arms_connection_pool_connection_max_idle_count

DBCP、Jedis、Druid、Lettuce、

最大空闲连接数,一般是静态配置,不会改变。

arms_connection_pool_connection_max_count

DBCP、Druid、Vibur DBCP、HikariCP

最大连接数,一般是静态配置,不会改变。

arms_connection_pool_pending_request_count

c3p0、HikariCP、Jedis

阻塞的连接请求数。

4.1.x以下探针版本

连接池监控页签可以查看应用所使用的连接池的最大连接数和活跃连接数指标。

展开查看连接池监控支持的框架

连接池监控支持OkHttp2、OkHttp3框架,采集的指标如下:

指标名称

指标

连接池活跃连接数

arms_threadpool_active_size

连接池当前连接数

arms_threadpool_current_size

连接池监控支持Apache HTTPClient框架,采集的指标如下:

指标名称

指标

连接池当前连接数

arms_threadpool_current_size

连接池最大连接数

arms_threadpool_max_size

连接池等待队列数

arms_threadpool_queue_size

连接池监控支持Druid框架,采集的指标如下:

指标名称

指标

连接池活跃连接数

arms_threadpool_active_size

连接池最大连接数

arms_threadpool_max_size

连接池监控支持Hikaricp框架,采集的指标如下:

指标名称

指标

连接池活跃连接数

arms_threadpool_active_size

连接池最大连接数

arms_threadpool_max_size

主机监控

主机监控页签可以查看CPU、内存、Disk(磁盘)、Load(负载)、网络流量和网络数据包的各项指标。

相关文档

应用监控详细的指标信息,请参见应用监控指标说明