本文介绍APM应用监控告警规则中各类型的指标说明,所有告警指标的最小时间颗粒度为1分钟。
异常接口调用
指标说明
指标名称 |
单位 |
是否为常用指标 |
指标说明 |
应用异常调用次数 |
无 |
是 |
在软件系统运行过程中发生的应用异常调用次数。 |
应用异常调用响应时间 |
毫秒 |
是 |
该应用异常调用的响应时间,其中,异常调用指调用中出现异常抛错的调用。可以根据该指标判断调用堆栈抛错对应用调用响应时间的影响大小,从而判断是否存在应用调用异常。 |
应用异常接口调用次数 |
无 |
是 |
在软件系统运行过程中发生的应用异常接口调用次数。 |
应用异常接口调用响应时间 |
毫秒 |
是 |
该应用异常调用的响应时间,其中,异常调用指调用中出现异常抛错的调用。可以根据该指标判断调用堆栈抛错对应用调用响应时间的影响大小,从而判断是否存在应用调用异常。 |
指标维度
接口名称,筛选条件如下:
- 任意:遍历每个访问到的接口,针对每个接口的指标数据单独进行监控告警。
- 等于 :指定筛选固定的几个接口进行监控告警,示例:/ctyun/api/users/{userId}。
应用调用类型统计
指标说明
指标名称 |
单位 |
是否为常用指标 |
指标说明 |
应用依赖服务调用次数 |
无 |
不是 |
该应用依赖的下游接口的调用次数,用于判断下游依赖服务调用是否增多。 |
应用依赖服务调用错误次数 |
无 |
不是 |
该应用依赖的下游接口的错误次数除以总请求数,用于判断下游依赖服务报错是否增多,影响当前应用。 |
应用依赖服务调用错误率(%) |
无 |
不是 |
该应用依赖的下游接口的错误次数除以总请求数,用于判断下游依赖服务报错是否增多,影响当前应用。 |
应用依赖服务调用响应时间 |
毫秒 |
是 |
该应用依赖的下游接口的平均响应时间,用于判断下游依赖服务耗时是否增多,影响当前应用。 |
应用提供服务调用次数 |
无 |
是 |
应用入口调用(包括调用HTTP入口、调用Dubbo入口等)的次数。可以根据该指标分析当前应用调用量的大小,从而判断业务量的大小,以及通过调用量是否偏大或偏小判断应用是否存在异常。 |
应用提供服务调用错误次数 |
无 |
是 |
应用入口调用(包括调用HTTP入口和调用Dubbo入口等)的错误次数,调用错误是指整个对外(HTTP、Dubbo)调用行为的返回状态码>400的情况, 或者Dubbo有异常被最上层拦截的情况,都视为错误。可以根据该指标判断应用是否存在调用错误。 |
应用提供服务调用错误率(%) |
无 |
是 |
应用入口调用的调用错误次数的总和/入口的调用次数的总和*100%。 |
应用提供服务调用响应时间 |
毫秒 |
是 |
应用入口调用(包括调用HTTP入口、调用Dubbo入口等)的响应时间。可以根据该指标判断是否有慢请求出现,从而判断应用是否存在异常。 |
指标维度
接口调用类型,筛选条件如下:
- 任意:遍历每个接口类型,针对每个类型(HTTP/MySQL/Redis等)接口的指标数据单独进行监控告警。
- 等于:指定筛选固定的几个接口类型进行监控告警,示例:http。
数据库指标
指标说明
指标名称 |
单位 |
是否为常用指标 |
指标说明 |
数据库调用次数 |
无 |
是 |
应用程序在执行过程中,向数据库发送请求的次数。每次请求通常包含一次读取或写入操作。数据库调用次数的多少直接影响了应用程序的性能和响应时间。 |
数据库调用错误次数 |
无 |
是 |
应用程序在执行过程中,向数据库发送请求时出现错误的次数。这些错误可能包括数据库连接失败、查询语句错误、权限不足等。数据库调用错误次数越多,说明应用程序与数据库的交互存在问题,可能导致应用程序无法正常工作。 |
数据库调用响应时间 |
毫秒 |
是 |
从应用程序发送请求到数据库,到数据库返回响应结果的时间。数据库调用响应时间的快慢直接影响应用程序的性能和用户体验。如果响应时间过长,用户可能会感到应用程序卡顿或无响应,降低用户满意度。 |
指标维度
数据库名,筛选条件如下:
- 任意:遍历每个数据库,针对每个数据库的指标数据单独进行监控告警。
- 等于:指定筛选固定的几个数据库进行监控告警,示例:mysql-pod:3306(demo_db)。
JVM监控
指标说明
指标名称 |
单位 |
是否为常用指标 |
指标说明 |
JVM FullGC次数瞬时值 |
无 |
是 |
最近N分钟JVM执行了Full GC(Full Garbage Collection)的次数。可以根据该指标判断应用是否过于频繁发生FullGC,从而判断应用是否存在异常。 |
JVM FullGC耗时瞬时值 |
毫秒 |
不是 |
最近N分钟JVM执行了Full GC(Full Garbage Collection)所花费的时间。Full GC耗时的瞬时值可以反映出当前JVM的垃圾回收性能,通常情况下,Full GC耗时越短,JVM的性能越好。如果Full GC耗时过长,可能会导致应用程序出现明显的停顿,从而影响用户体验。 |
JVM YoungGC次数瞬时值 |
无 |
是 |
最近N分钟JVM执行Young GC(Young Generation Garbage Collection)的次数。Young GC次数的瞬时值可以反映出当前JVM中对象的创建和销毁速度,以及Young Generation的使用情况。通常情况下,Young GC次数越多,表示应用程序中创建的对象越多,同时也可能意味着应用程序可能存在一些内存泄漏或者不合理的内存使用方式。 |
JVM YoungGC耗时瞬时值 |
毫秒 |
不是 |
最近N分钟JVM执行Young GC(Young Generation Garbage Collection)所花费的时间。Young GC耗时的瞬时值可以反映出当前JVM中垃圾回收的效率和性能状况。通常情况下,Young GC耗时越长,表示垃圾回收的效率越低,可能会导致应用程序出现卡顿或者停顿。 |
JVM堆内使用内存量 |
M |
是 |
JVM堆内存中已经被Java程序使用的内存大小。JVM堆内使用内存量应该被严格控制,避免因为内存泄漏或者过多的内存占用导致系统性能下降或者内存溢出等问题。 |
JVM非堆使用内存量 |
M |
是 |
非堆内存总使用量包括了元空间和永久代的使用量。 |
JVM阻塞线程数 |
无 |
不是 |
被阻塞等待监视器锁的线程数量,过多的阻塞线程会导致系统性能下降。 |
JVM线程总数 |
无 |
是 |
所有状态的线程数量。线程数量过多可能会导致内存和CPU资源不足,从而影响应用的性能和稳定性。 |
JVM死锁线程数 |
无 |
不是 |
两个或多个线程互相等待对方释放资源而无法继续执行的情况。当JVM中出现死锁时,死锁线程数会随着死锁的发生而增加,直到达到死锁状态。通常,死锁线程数越多,死锁的影响越严重,在极端情况下甚至会导致应用程序的崩溃。 |
JVM可运行线程数 |
无 |
不是 |
JVM在运行时支持的最大线程数量。如果创建线程数量过多,会占用大量的内存资源,导致系统变慢或者崩溃。 |
JVM等待线程数 |
无 |
不是 |
当前JVM中处于等待状态的线程数量。对于高并发的应用程序来说,JVM等待线程数的增多可能会导致性能下降。 |
指标维度
- 节点IP,筛选条件如下:任意:遍历每个节点IP,针对每台节点机的指标数据单独进行监控告警。
- 等于:指定筛选固定的几台节点进行监控告警。示例:192.10.XX.XX。
主机监控
指标说明
指标名称 |
单位 |
是否为常用指标 |
指标说明 |
进程不存在 |
无 |
是 |
节点机上指定的Java进程不存在 |
节点CPU使用率(%) |
无 |
不是 |
节点机(服务器)上CPU处理器的使用率,过高的CPU使用率会导致系统响应变慢、服务不可用等问题。 |
节点磁盘利用率(%) |
无 |
不是 |
节点中硬盘的使用情况,即已使用的磁盘空间占总磁盘空间的比例。磁盘利用率越高,表示节点机的存储容量越紧张。 |
节点内存利用率(%) |
无 |
不是 |
当前节点已经使用的内存占总内存的比例。如果节点机的内存利用率超过了80%,就需要考虑调整节点机配置或者优化任务使用内存的方式来降低内存压力。 |
节点接收错误报文数 |
无 |
不是 |
节点在处理网络通信时接收到的错误报文的数量。这些错误报文可能是由于网络传输问题、应用程序问题或者其他原因引起的。错误报文可能会导致节点机无法正常处理网络通信,从而影响系统的正常运行。 |
节点发送错误报文数 |
无 |
不是 |
节点在处理网络通信时发送了错误报文的数量。这些错误报文可能是由于网络传输问题、应用程序问题或者其他原因引起的。可以根据该指标判断节点机网络是否异常。 |
JVM实例数 |
无 |
是 |
当前实时运行的Java虚拟机实例数量,常用于服务宕机告警配置。 |
节点发送的字节数 |
无 |
不是 |
节点通过网络连接发送的数据量,其中包括应用程序发送的数据、系统消息和错误信息等。 |
节点发送的报文数 |
无 |
不是 |
节点通过网络连接发送的消息的数量。 |
节点接收的字节数 |
无 |
不是 |
节点通过网络连接接收的数据的总量。 |
节点接收的报文数 |
无 |
不是 |
节点通过网络连接接收到的报文的数量。 |
指标维度
- 节点IP,筛选条件如下:遍历:遍历每个节点机IP,针对每台节点机的指标数据单独进行监控告警。
- 等于:指定筛选固定的几台节点机进行监控告警。示例:=192.10.XX.XX。
应用调用统计
指标说明
指标名称 |
单位 |
是否为常用指标 |
指标说明 |
调用次数 |
无 |
是 |
应用入口调用(包括调用HTTP入口、调用Dubbo入口等)的次数。可以根据该指标分析当前应用调用量的大小,从而判断业务量的大小,以及通过调用量是否偏大或偏小判断应用是否存在异常。 |
调用错误次数 |
无 |
是 |
应用入口调用(包括调用HTTP入口和调用Dubbo入口等)的错误次数,调用错误是指整个对外(HTTP、Dubbo)调用行为的返回状态码>400的情况, 或者Dubbo有异常被最上层拦截的情况,都视为错误。可以根据该指标判断应用是否存在调用错误。 |
调用错误率(%) |
无 |
是 |
应用入口调用的调用错误次数的总和/入口的调用次数的总和*100%。 |
调用平均响应时间 |
毫秒 |
是 |
应用入口调用(包括调用HTTP入口、调用Dubbo入口等)的平均响应时间。 |
HTTP调用次数 |
无 |
不是 |
HTTP调用的次数。可以根据该指标分析当前应用调用量的大小,从而判断业务量的大小,以及通过调用量是否偏大或偏小判断应用是否存在异常。 |
HTTP调用响应时间 |
无 |
不是 |
HTTP调用的响应时间。 |
指标维度
接口名称,筛选条件如下:
- 任意:遍历每个访问到的接口,针对每个接口的指标数据单独进行监控告警。
- 等于 :指定筛选固定的几个接口进行监控告警,示例:/ctyun/api/users/{userId}。
HTTP状态码异常
指标说明
指标名称 |
是否为常用指标 |
指标说明 |
HTTP接口状态码4xx次数 |
是 |
客户端向服务器发送请求时,服务器返回的标准响应状态码为4xx的次数,例如请求的资源不存在、缺少必要的参数等,常见的4xx状态码有400和404。 |
HTTP接口状态码5xx次数 |
是 |
客户端向服务器发送请求时,服务器返回的标准响应状态码为5xx的次数,例如服务器内部错误、系统繁忙等,常见的5xx状态码有500和503。 |
HTTP接口状态码4xx调用次数 |
是 |
客户端向服务器发送请求时,服务器返回的标准响应状态码为4xx的调用次数,例如请求的资源不存在、缺少必要的参数等,常见的4xx状态码有400和404。 |
HTTP接口状态码5xx调用次数 |
是 |
客户端向服务器发送请求时,服务器返回的标准响应状态码为5xx的调用次数,例如服务器内部错误、系统繁忙等,常见的5xx状态码有500和503。 |
指标维度
接口名称,筛选条件如下:
- 任意:遍历每个访问到的接口,针对每个接口的指标数据单独进行监控告警。
- 等于:指定筛选固定的几个接口进行监控告警,示例:/ctyun/api/users/{userId}。
鼠标选中文档,精准反馈问题
选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理
知道了
文本反馈