Skip to main content

监控:DynamicTp 线程池监控

对DynamicTp actuator 暴露的线程池性能指标进行采集监控。

前提

  1. 集成使用 DynamicTp

DynamicTp 是Jvm语言的基于配置中心的轻量级动态线程池,内置监控告警功能,可通过SPI自定义扩展实现。

集成使用,请参考文档 快速接入

  1. 开启SpringBoot Actuator Endpoint 暴露出DynamicTp指标接口
management:
endpoints:
web:
exposure:
include: '*'

测试访问指标接口 ip:port/actuator/dynamic-tp 是否有响应json数据如下:

[
{
"poolName": "commonExecutor",
"corePoolSize": 1,
"maximumPoolSize": 1,
"queueType": "LinkedBlockingQueue",
"queueCapacity": 2147483647,
"queueSize": 0,
"fair": false,
"queueRemainingCapacity": 2147483647,
"activeCount": 0,
"taskCount": 0,
"completedTaskCount": 0,
"largestPoolSize": 0,
"poolSize": 0,
"waitTaskCount": 0,
"rejectCount": 0,
"rejectHandlerName": null,
"dynamic": false,
"runTimeoutCount": 0,
"queueTimeoutCount": 0
},
{
"maxMemory": "4 GB",
"totalMemory": "444 MB",
"freeMemory": "250.34 MB",
"usableMemory": "3.81 GB"
}
]
  1. 在HertzBeat中间件监控下添加DynamicTp监控即可

配置参数

参数名称参数帮助描述
监控Host被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。
任务名称标识此监控的名称,名称需要保证唯一性。
端口应用服务对外提供的端口,默认为8080。
启用HTTPS是否通过HTTPS访问网站,注意⚠️开启HTTPS一般默认对应端口需要改为443
Base Path暴露接口路径前缀,默认 /actuator
采集间隔监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒
是否探测新增监控前是否先探测检查监控可用性,探测成功才会继续新增修改操作
描述备注更多标识和描述此监控的备注信息,用户可以在这里备注信息

采集指标

指标集合:thread_pool

指标名称指标单位指标帮助描述
pool_name线程池名称
core_pool_size核心线程数
maximum_pool_size最大线程数
queue_type任务队列类型
queue_capacityMB任务队列容量
queue_size任务队列当前占用大小
fair队列模式,SynchronousQueue会用到
queue_remaining_capacityMB任务队列剩余大小
active_count活跃线程数
task_count任务总数
completed_task_count已完成任务数
largest_pool_size历史最大线程数
pool_size当前线程数
wait_task_count等待执行任务数
reject_count拒绝任务数
reject_handler_name拒绝策略类型
dynamic是否动态线程池
run_timeout_count运行超时任务数
queue_timeout_count等待超时任务数