跳到主要内容
版本:v1.5.x

监控:DynamicTp 线程池监控

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

前提

  1. 集成使用 DynamicTp

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

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

  2. 开启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"
    }
    ]
  3. 在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等待超时任务数