Manager 巡检——诊断信息使用手册
说明: 本文介绍 Manager 26.1.0 及以后版本中“巡检 > 诊断信息”页面的使用方法。诊断信息用于按需收集集群节点上的系统指标、进程堆栈、日志等排障材料,帮助运维或研发快速定位 SelectDB/Doris 集群问题。
1. 功能概览
“诊断信息”用于统一配置采集规则、选择生效节点,并手动或定时下发诊断采集任务。采集完成后,可以在采集记录中查看任务状态、失败原因,并下载诊断包或单项日志。
| 功能 | 用途 | 典型场景 |
|---|---|---|
| 配置通用采集规则 | 设置默认采集项及采集参数,例如系统监控、堆栈、日志等。 | 建立统一的诊断采集模板。 |
| 生效节点列表 | 选择本次诊断要覆盖的节点,并按节点调整采集项。 | 只采集异常 FE/BE 节点,减少无关数据。 |
| 下发并开始采集 | 保存当前规则和节点配置,并立即触发一次诊断任务。 | 故障发生后立即收集现场。 |
| 自动采集 | 按固定频率周期性采集诊断信息。 | 问题偶发、需要持续留存现场数据。 |
| 采集记录 | 查看历史任务、任务进度、节点明细、失败原因,并下载结果。 | 追踪采集结果或提供材料给支持团队。 |
注意: ClusterView 只读角色可以查看诊断信息和采集记录,但不能修改规则、启停自动采集、重试/取消任务或下发采集。需要执行写操作时,请使用具备集群写权限的账号。
2. 进入诊断信息页面
- 登录 Manager 控制台。
- 进入目标集群。
- 在左侧导航中选择“巡检”。
- 进入“诊断信息”页签。
在新版 Manager 中,原有巡检报告能力移动到“巡检结果”,新增的诊断采集能力位于“诊断信息”。

3. 推荐使用流程
推荐: 首次使用时先确认通用采集规则,再检查生效节点列表,最后点击“下发并开始采集”。如果只是调整通用规则,不会自动改动生效节点;只有点击“重置”后,生效节点列表才会按新的通用规则重新生成。
- 确认或修改“配置通用采集规则”。
- 在“生效节点列表”中选择要采集的节点。
- 按需调整单个节点的采集项。
- 点击“下发并开始采集”。
- 打开“采集记录”,查看任务进度和结果。
- 采集完成后下载诊断包或日志。

4. 配置通用采集规则
“配置通用采集规则”定义各类节点默认要采集的项目。通用规则主要影响默认配置和后续重置动作,不会在保存后立即覆盖当前“生效节点列表”。
| 采集类别 | 说明 | 常见用途 |
|---|---|---|
| OS Monitoring | 采集操作系统基础指标,例如 CPU、内存、磁盘、IO、系统限制等。 | 排查资源瓶颈、系统负载异常。 |
| Cluster Stack | 采集进程、线程、堆栈或 Profile 相关信息。 | 排查卡顿、死锁、CPU 高、线程阻塞。 |
| Log | 采集节点日志。 | 排查报错、任务失败、节点异常退出。 |
4.1 修改默认采集项
- 点击“配置通用采集规则”入口旁的编辑按钮。
- 在弹窗中展开对应采集类别。
- 打开或关闭“默认采集”开关。
- 如采集项支持参数配置,在参数编辑区填写合法 JSON。
- 点击“保存”。

注意: 保存通用采集规则后,当前页面中的“生效节点列表”不会自动刷新。这样可以避免用户已经手动选择的节点和采集项被意外覆盖。若希望让节点列表按最新通用规则重新生成,请主动点击“重置”。
4.2 参数填写要求
常用参数示例
下面示例可以作为参数编辑区的起点。请根据实际日志名称、故障时间和节点情况调整。
日志采集:指定日志前缀和时间范围
{
"log_name_prefixes": ["fe.log", "be.INFO"],
"from": "$now-12h",
"to": "$now",
"disable_time_match": false
}
log_name_prefixes 用于指定要收集的日志前缀;from 和 to 指定时间范围。范围越大、匹配越宽,产物越大。建议优先保留时间匹配,不要轻易设置 disable_time_match=true。
系统观测:延长 iostat 或 sar 的采集时间
{
"duration": "60s"
}
适用于问题持续出现、需要观察一段时间的场景。短时排障建议保持默认时长,避免无谓等待。
注意: 参数必须是合法 JSON。保存通用规则后,已手工调整过的节点采集项不会自动改变;需要让新默认规则批量应用到节点时,请使用“重置”。
5. 管理生效节点列表
“生效节点列表”决定本次诊断实际采集哪些节点,以及每个节点采集哪些项目。只有已开启的节点会被纳入“下发并开始采集”。
| 字段/操作 | 说明 |
|---|---|
| 节点名称 | 当前集群中的 FE/BE 等节点名称或节点 ID。 |
| 模块 | 节点所属模块,例如 FE、BE。 |
| Agent 状态 | 节点侧 Agent 是否正常。Agent 异常时,采集可能失败。 |
| 启用 | 控制该节点是否参与本次采集。 |
| 采集项 | 当前节点实际生效的采集项,可按节点单独调整。 |
5.1 启用或关闭节点
- 使用列表中的“启用”开关,控制单个节点是否参与采集。
- 使用“全部启用”开关,快速开启或关闭所有节点。
- 建议只选择与问题相关的节点,避免采集包过大。

5.2 调整单个节点采集项
- 确认目标节点处于启用状态。
- 点击该节点采集项区域的编辑按钮。
- 勾选或取消需要的采集项。
- 关闭弹窗后,页面会保留当前选择。

5.3 使用“重置”
“重置”会根据当前通用采集规则重新生成节点采集项,并恢复默认采集频率和保留时间。只有当你希望让最新通用规则批量作用到生效节点列表时,才需要点击“重置”。
风险提示: 点击“重置”后,当前生效节点列表中的手动调整会被新的默认规则覆盖。执行前请确认不再需要保留已有节点级配置。

6. 手动下发诊断采集
手动采集适用于故障发生后立即收集现场信息。点击“下发并开始采集”后,Manager 会保存当前规则和节点配置,并创建诊断采集任务。
- 确认至少有一个节点处于启用状态。
- 确认 Agent 状态正常。
- 确认通用规则和节点采集项符合预期。
- 点击“下发并开始采集”。如果选择了Cluster Stack相关的"高影响"采集项,需要手动二次确认。
- 页面进入采集中状态,等待任务完成。

注意: 采集过程中不建议频繁修改规则。若任务耗时较长,可进入“采集记录”查看节点级进度。
6.1 停止当前采集
停止采集后的结果: 停止操作会取消仍在等待或执行中的部分;已经成功完成的采集项会保留成功结果,可继续在采集记录中查看或下载。
同一台机器同时部署 FE 和 BE 时,两个逻辑节点会依次采集。页面出现等待状态时,请先等待当前同机任务完成,不要将等待直接判断为失败。
如果采集时间过长或不再需要当前结果,可以点击采集中页面的“停止采集”。停止后,任务会进入取消或失败相关状态,已生成的部分结果以页面展示为准。

7. 自动采集
7.1 开启自动采集
自动采集用于周期性留存诊断信息,适合偶发问题或需要持续观察的场景。
- 点击“自动采集设置”。
- 开启自动采集。
- 设置采集频率和结果保留时间。
- 点击“确定”保存配置。
- 手动点击右上角的“下发并开始采集”,开始自动采集。
| 配置项 | 说明 |
|---|---|
| 自动采集 | 开启后,系统按配置频率周期性触发诊断采集。 |
| 频率 | 两次自动采集之间的间隔时间,单位为分钟。 |
| 保留时间 | 自动采集结果的保留时长,单位为天。 |

风险提示: 自动采集会持续产生诊断数据。频率设置过高可能增加节点负载和磁盘占用。建议在问题观察期使用,问题定位后及时关闭。
7.2 停止自动采集
自动采集开启后,页面会展示自动采集已启用状态。点击“停止自动采集”即可关闭周期性采集;如果当前有自动采集任务正在运行,系统会同时尝试停止当前任务。

8. 查看采集记录
点击页面右上角“采集记录”,可以查看历史诊断任务。

采集记录用于确认任务是否成功、定位失败节点,并下载采集结果。
| 状态 | 含义 |
|---|---|
| 运行中 | 任务仍在执行,部分节点可能还未完成。 |
| 成功 | 任务完成,节点采集结果可查看或下载。 |
| 部分成功 | 部分节点或采集项失败,需要展开详情查看原因。 |
| 失败 | 任务未成功完成,需要根据错误信息排查。 |
| 已取消 | 任务被用户主动停止或被系统取消。 |

8.1 查看节点明细
查看结果时请区分两类情况: 某个采集项显示失败时,先查看其错误详情;如果提示“节点采集超时前未完成”,表示节点整体采集时间到期后该项被停止,不等同于该采集项本身超时。已经完成的采集项会保留原有成功结果。
如果任务显示“部分成功”,通常表示至少有一部分材料已可下载。请展开目标节点,优先处理标红的采集项。
- 打开“采集记录”。
- 找到目标任务。
- 点击任务左侧展开按钮。
- 查看节点、模块、状态、采集项结果和错误信息。

8.2 下载诊断包或日志
选择合适的下载方式:
| 需要的材料 | 建议操作 |
|---|---|
| 多个节点的完整采集结果 | 使用任务级下载脚本,按节点批量下载产物。 |
| 单台节点的全部成功采集项 | 在节点行的“更多”菜单中选择“下载节点产物”。 |
| 某个日志、Profile 或堆栈 | 点击对应采集项,下载单项产物或日志。 |
| 采集失败,未生成产物 | 下载失败详情,查看节点、采集项和错误原因。 |
注意: 产物会按保留策略在节点侧清理。历史采集记录仍可用于查看任务状态和错误摘要,但产物过期后可能无法下载。
- 任务成功或部分成功后,可以下载诊断包。
- 展开节点明细后,可以下载单个采集项日志。
- 下载结果通常用于提交给 SelectDB 支持团队或研发排查。

-
下载单个节点的产物

8.3 重试或取消任务
- 运行中的任务可以取消。
- 失败或已取消的最新任务可以重试。
- 只读角色不能执行取消或重试操作。

9. 常见问题
| 问题 | 处理建议 |
|---|---|
| 为什么“下发并开始采集”按钮是灰色? | 常见原因包括:当前账号只有只读权限、集群 License 被锁定、没有启用任何节点,或当前已有任务正在运行。 |
| 保存通用规则后,节点列表为什么没有变化? | 这是预期行为。保存通用规则不会自动刷新生效节点列表;需要点击“重置”才会按最新通用规则重新生成节点采集项。 |
| 为什么某些节点采集失败? | 优先检查 Agent 状态、节点连通性、磁盘空间、采集项参数和节点日志。可展开采集记录查看具体错误信息。 |
| 诊断包太大怎么办? | 减少启用节点数量,关闭与本次问题无关的采集项,或降低日志类采集范围。 |
| 自动采集应该一直开启吗? | 不建议长期高频开启。建议在问题观察期启用,问题定位后关闭或调低频率。 |
10. 操作前检查清单
-
确认当前账号具备集群写权限。
-
确认目标集群和节点选择正确。
-
确认 Agent 状态正常。
-
确认通用采集规则和节点采集项符合本次排障目标。
-
如果要应用新的通用规则到节点列表,确认已点击“重置”。
-
采集完成后,确认已下载诊断包或所需日志。
11. Agent 采集机制与产物目录
说明: 诊断信息不是只在 Manager 页面中保存一条记录。每次采集任务都会由 Manager 下发到对应节点的 Manager Agent,由 Agent 在节点本地执行采集脚本,并把结果写入该节点的 Agent 工作目录。页面中的采集记录、下载诊断包、下载单项日志,最终都基于这些节点侧产物。
11.1 采集链路
- 用户在 Manager 页面选择采集规则和生效节点。
- Manager 创建诊断任务,并按节点向对应 Agent 下发采集请求。
- Manager 会为每个节点指定独立的
output_dir,避免不同集群、任务、节点的产物混在一起。 - Agent 在本机执行
scrape/scripts下的采集脚本,并使用scrape/deps下的依赖。 - 采集完成后,Agent 将每个采集项压缩为独立归档,写入节点目录下的
artifacts/。 - Manager 轮询采集状态并落库,前端通过任务、节点、采集项维度展示结果。
| 组件 | 职责 |
|---|---|
| Manager 页面 | 配置规则、选择节点、触发采集、展示记录和下载入口。 |
| Manager 后端 | 创建任务、计算节点输出目录、调度 Agent、汇总状态、提供下载接口。 |
| Manager Agent | 在节点本地执行采集脚本,生成产物、错误日志和 manifest。 |
| 采集脚本 | 执行具体采集动作,例如采集系统指标、JVM 信息、Profile、日志等。 |
11.2 结果存放位置
节点侧结果默认存放在 Agent 安装目录下的 scrape/result 目录。Manager 下发采集时会按集群、任务、节点生成目录:
{agentDeployDir}/scrape/result/cluster-{clusterUuId}/task-{taskId}/node-{nodeId}
| 目录层级 | 含义 |
|---|---|
cluster-{clusterId} | Manager 内部集群UUID,不是集群名称。 |
task-{taskId} | 一次诊断采集任务。手动采集或自动采集都会生成任务 ID。 |
node-{nodeId} | 本次任务中的一个目标节点 ID。一个任务可以包含多个节点目录。 |
scrape/result
└── cluster-834774616174597
├── task-bd89a80122aa42afa2fa25c99a8b70eb
│ ├── node-1
│ │ ├── artifacts
│ │ ├── deps
│ │ ├── deps.tar.gz
│ │ ├── errors
│ │ ├── manifest.json
│ │ └── precheck
│ └── node-4
│ ├── artifacts
│ ├── deps
│ ├── errors
│ └── manifest.json
└── task-5e9429b4d45a428d811233a781f1f4be
├── node-1
│ ├── artifacts
│ ├── errors
│ ├── manifest.json
│ └── precheck
└── node-4
├── artifacts
├── errors
└── manifest.json
注意: 如果在较早版本或升级前的 Agent 目录中看到 be_cpu、fe_cpu、be_lsfd、fe_lsfd、jstack、jstat、toph 等目录,它们属于旧版脚本或旧占位目录,不是新版诊断任务的主要结果目录。新版诊断任务应以 cluster-*/task-*/node-* 结构为准。
11.3 节点目录内容说明
| 文件或目录 | 说明 |
|---|---|
artifacts/ | 最终采集产物目录。每个成功采集项通常会生成一个 {itemName}.tar.gz,例如 free.tar.gz、iostat.tar.gz、log.tar.gz、beCpuProfile.tar.gz。 |
manifest.json | 本节点采集结果摘要,包含采集时间、任务状态、输出目录、采集项状态、输出文件路径和错误字段。Manager 和排障人员可以用它快速判断本节点采集结果。 |
errors/ | 运行时错误日志目录。常见文件如 task.runtime.log,用于定位脚本执行失败、命令超时、权限不足等问题。 |
precheck/ | 采集前检查日志目录。某些采集项在真正执行前会检查命令、PID、日志目录等条件;失败时会在这里留下 {itemName}.precheck.log。 |
deps/ | 本次采集运行时依赖目录,通常包含 jar、perl、scripts 等。新版本会在安全条件满足时清理该目录,减少磁盘占用。 |
deps.tar.gz | 历史任务或旧版本中可能出现的依赖归档。它不是用户主要下载对象,新版本会尽量清理。 |
11.4 artifacts 产物示例
artifacts/ 是用户下载诊断包时最关键的目录。每个采集项会尽量收敛为一个归档文件,避免前端和用户依赖不同脚本的内部文件名。
node-1/artifacts
├── free.tar.gz
├── iostat.tar.gz
├── log.tar.gz
├── sar.tar.gz
├── toph.tar.gz
└── ulimit.tar.gz
node-4/artifacts
├── beCpuProfile.tar.gz
├── free.tar.gz
├── iostat.tar.gz
├── log.tar.gz
├── sar.tar.gz
├── toph.tar.gz
└── ulimit.tar.gz
| 采集项 | 常见产物 |
|---|---|
| OS Monitoring | toph.tar.gz、free.tar.gz、iostat.tar.gz、sar.tar.gz、ulimit.tar.gz 等。 |
| Cluster Stack | jstack.tar.gz、jstat.tar.gz、pstack.tar.gz、feCpuProfile.tar.gz、beCpuProfile.tar.gz 等,具体取决于节点角色和启用项。 |
| Log | log.tar.gz,包含符合规则的节点日志片段或日志目录归档。 |
11.5 实际采集脚本
本节供需要进一步排查的用户和支持人员参考。 日常采集请优先通过 Manager 页面操作,不需要手工执行脚本。
采集脚本随 Manager Agent 安装,默认目录为:
{agentDeployDir}/scrape/scripts
登录节点后,可使用以下命令查看当前 Agent 包含的脚本:
cd {agentDeployDir}/scrape/scripts
ls -1
常见脚本包括 log.sh、jstack.sh、jstat.sh、pstack.sh、fe_cpu_profile.sh、be_cpu_profile.sh 以及系统指标采集脚本。脚本执行结果由 Agent 管理并写入任务产物目录;不建议直接修改脚本或依赖文件。
toph.sh:采集系统运行状态和进程维度信息。free.sh:采集内存信息。iostat.sh:采集磁盘 IO 信息。sar.sh:采集系统活动信息。ulimit.sh:采集系统资源限制信息。jstack.sh、jstat.sh、pstack.sh:采集 JVM 或进程堆栈相关信息。fe_cpu_profile.sh、be_cpu_profile.sh:采集 FE/BE CPU Profile。log.sh:按时间范围和文件匹配规则采集日志。
风险提示: 不建议用户手动修改 scrape/scripts 或 scrape/deps 下的内容。脚本和依赖由 Agent 安装包或升级流程维护,手动修改可能导致后续采集失败,或升级后被覆盖。
11.6 下载边界
前端“下载诊断包”并不会把整个 node-* 目录全部下载下来。为了控制包大小和避免无关依赖膨胀,Manager 下载节点整体产物时优先只打包 artifacts/;下载单个采集项日志时,优先下载该采集项对应的 artifacts/{itemName}.tar.gz。
| 下载入口 | 实际下载内容 |
|---|---|
| 下载诊断包 | 当前节点 artifacts/ 下的采集项归档集合。 |
| 下载单项日志 | 某个采集项对应的归档或失败说明文件。 |
| 失败任务无真实产物时 | 返回 -failure.log 形式的说明文件,便于查看失败原因。 |
11.7 排查时建议查看的文件
- 先看 Manager 页面中的任务状态和节点明细。
- 如果节点失败,查看节点目录下的
manifest.json,确认失败采集项和错误字段。 - 如果是运行时失败,查看
errors/task.runtime.log。 - 如果是采集前检查失败,查看
precheck/{itemName}.precheck.log。 - 如果采集成功但下载结果不符合预期,检查
artifacts/中是否存在对应{itemName}.tar.gz。