DBAService新功能之TASK执行时间长的executor自动打jstack

  其他常见问题
内容纲要

概要描述


DBAService监控quark的所有TASK, 当task执行时间超出配置(默认30分钟, 最小分钟粒度)的executor自动打jstack, 保存到/var/log/dbaserviceSid/executor-stack目录下。

支持版本:DBAService 9.4.6 + patch1 及以上版本

详细说明


jstack收集策略

DBAService配置页面新增了动态配置LONG_TASK_MIN_EXECUTOR_STACK_DUMP, 默认30分钟, 则对超出30分钟的所有task的executor, 按执行间隔时间减半,即每15分钟执行自动打executor的jstack (最小可设为1分钟, 即30s左右触发一次, 设置为0时, 关闭该功能)

file

jstack存储位置

收集的jstack文件,默认存储在 DBAService角色部署节点的 /var/log/dbaserviceSid/executor-stack/{quarkSid}/executor_{executorHost-Port}_{executorId}_{yyyyMMdd_HHmmss}.jstack ,参考截图:

file

jstack文件的第一行会存相关的task信息如下:

//stack文件第一行存taskId关联stageIds,sqlIds
sqlId:{sqlId},stageIds:{stageIds},taskIds:{taskIds};

jstack文件清理策略

DBAService配置页面增加动态配置LONG_TASK_EXECUTOR_STACK_NUM, 默认5000, 表示/var/log/dbaserviceSid/executor-stack目录下jstack文件总数不超过5000, 默认每天执行一次清理操作, 超出数量的文件按时间顺序清理旧的

file

[root@lc-search-01 executor-stack]# pwd
/var/log/dbaservice7/executor-stack
[root@lc-search-01 executor-stack]# find ./* -name *jstack | wc -l 
5324

如何关闭该功能?

manager页面,DBAService新增自定义参数 task.executor.auto.stack.enabled,值为false,配置文件为 application.yml,配置服务重启DBAService。

file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。