代码仓
中
openUBMC Studio 一键日志解析使用指南
更新时间: 2026/10/26
在AtomGit上查看源码

一、简介 ​

一键日志解析是 openUBMC Studio 提供的 BMC 现场日志离线分析工具,对应扩展 openubmc.bmcstudio-log-reviewer。它把 BMC 一键日志包(或已解压的 dump 目录)解析为一组可视化页面,覆盖硬件、告警、传感器、性能、调速、线缆与各类运行日志,并可结合 openUBMC RAG 进行 Agent 日志体检与告警链条分析。

本文档面向使用 openUBMC Studio 定位现场问题的开发者与运维支持人员。

使用方式总览 ​

使用方式主要能力适用场景详见
Agent 日志体检结合本地日志证据和 openUBMC RAG 生成问题清单,实时回写结果并导出 PDF 报告批量体检、问题优先级排序、导出报告Agent 日志体检
定向诊断与告警链条分析关联事件记录、运行日志、数据库及 CSR Event 定义,输出告警状态、触发链、恢复或复发情况和证据位置聚焦单个问题、还原一条告警的完整触发链定向诊断、告警链条分析
可视化页面自动解压日志包,通过概览、硬件、告警、传感器、性能、调速、线缆和日志等视图展示 dump 日志人工浏览现场、按领域翻日志、核对原始证据界面与通用规则、各页面功能说明

二、使用前准备 ​

前置条件:

  • 已安装 openUBMC Studio 最新版(获取方法参见《openUBMC Studio 安装指南》)。
  • 已安装一键日志解析插件(随 openUBMC Studio 扩展包分发)。
  • 本文功能说明与数据字段基于一键日志解析插件解析的日志包验证。

如果活动栏中没有“一键日志解析”图标,请先安装插件:

  1. 在 openUBMC Studio 的插件市场搜索 openUBMC 一键日志解析 并安装,按提示重新加载窗口。
  2. 确认活动栏出现标题为 一键日志解析 的图标。

使用 Agent 日志体检还需满足以下条件:

  • 已登录 openUBMC 社区(登录步骤见《openUBMC Studio 用户指南》“三、登录到社区”)。
  • openubmc-rag 扩展已启用。
  • 当前网络可以访问配置的 LightRAG 服务。
  • AI Agent 可以访问 openUBMC Studio MCP 工具。

说明:

若所有 MCP 工具均提示网络错误,请将 localhost、127.0.0.0/8 和 ::1 加入代理直连列表或 NO_PROXY,然后完全重启 openUBMC Studio 与 AI Agent。

三、导入日志 ​

支持导入以下内容:

  • .tar.gz、.tgz、.tar 或 .zip 格式的 BMC 一键日志压缩包。
  • 已解压且包含 AppDump 子目录的 dump 目录。

日志包典型结构如下:

text
dump_info/
├── AppDump/
├── LogDump/
├── RTOSDump/
└── OSDump/

操作步骤如下:

  1. 单击活动栏中的“一键日志解析”图标。

  2. 根据日志形态,选择 打开 BMC 一键日志压缩包 或 打开 BMC 一键日志。

  3. 选中压缩包,或包含 AppDump 的 dump 根目录。

  4. 等待解压与解析完成,日志页面在编辑器区域打开。

也可以通过以下入口打开日志:

  • 在资源管理器中右键单击日志压缩包或 dump 文件夹,选择对应的一键日志解析命令。
  • 单击“最近打开”中的历史记录,重新打开对应日志。

导入失败常见于扩展名不支持或解压异常,日志包缺 AppDump 也会导致导入失败(见下方“目录缺失的影响”);导入成功但页面数据不全时另见“解析限制”。

解析限制 ​

项目限制
单次选择1 个日志包,可重复导入不同日志包
tar 系列解压后总内容不超过 8GiB
归档条目不超过 200000 项
ZIP 解压依赖系统中的 tar 或 unzip;单次命令最长 300 秒
AppDump 查找深度最多递归 6 层
“最近打开”最多 30 条;重复打开同一日志只定位原页面;原路径被移动或删除时显示 <名称>(路径已不存在),只能重新导入;删除条目会关闭页面并清理其分析会话
页面条目与内容上限见截断与数据量上限

目录缺失的影响 ​

缺失目录影响
AppDump导入失败(AppDump 为必需目录)
AppDump/fault_diagnosis故障诊断页无数据,且 Agent 日志体检被标记为分析失败
LogDump框架、维护、app、操作日志与调速、性能页面显示无数据或提示缺少目录
RTOSDump版本信息、驱动日志、命令行历史无数据;journalctl 回退读取 LogDump 下同名文件
OSDump串口日志页提示缺少目录

导入完成后,可用 Agent 日志体检 快速定位问题,或翻阅 可视化页面 人工核查。

四、界面与通用规则 ​

导航结构 ​

本文涉及三个层级:页签指顶部的 14 个一级入口(其中“其他功能”本身不展示内容,只作下级页面容器);子页面指“其他功能”下的各页面;子页签指个别页面内部的第二层切换(如操作日志、调速信息、性能信息、首页存储详情面板内部)。

  • 一级页签原文:首页、FRU信息、告警信息、传感器信息、操作日志、板卡及版本信息、调速信息、性能信息、统计信息、🔍 智能检测、🔌 线缆检测、🔗 同步属性、一键日志原始文件、其他功能(其中 3 个页签标签内带 emoji 图标,首页另带独立首页图标)。
  • “其他功能”子页面原文:框架日志、维护日志、app日志、串口日志、驱动日志、journalctl、CSR原始文件、丝印文件、故障诊断。

各节标题与对应页签同指一页。

文中“侧边栏”有两处含义,请勿混淆:IDE 侧边栏的“最近打开”视图用于重新打开、刷新与清空历史;页面左侧栏只在“其他功能”(切换子页面)和支持保存搜索的视图(显示“已保存搜索”面板)中出现。

顶部状态区 ​

状态项取值规则
电源状态按 电源状态:值 展示——On 显示“上电”,Off 显示“下电”,其他值按原值显示,空值显示 --。恒为 On,因此固定显示 电源状态:上电
告警状态数据未到达前为 告警: --;随后 N>0 显示 告警: N、否则 告警: 无,N 为紧急、严重、轻微三级之和;紧急>0 红灯、严重或轻微>0 黄灯、否则绿灯;单击跳转“告警信息”
时间日志中最近一次事件时间(优先 SEL 记录最大时间,其次当前告警最大时间)

说明:

一键日志包不保存上电状态与指示灯状态的历史值,因此顶部电源状态与告警指示灯按固定值展示,不反映采集时刻的真实状态;首页“进风口温度”同为占位显示(--),需要该数据请查看“统计信息”页签。若顶部告警数与告警页条数不一致,以告警页为准,并检查日志包是否缺少 AppDump/event(当前告警与 SEL 记录所在目录)。

检索控件 ​

控件图标悬浮提示(同一页面两条检索条各用一套)作用
大小写Aa“大小写匹配” / “区分大小写”默认忽略大小写
全词Ab|“全词匹配” / “全字匹配”非正则模式下按词边界匹配
正则.*“正则表达式” / “正则匹配”表达式非法时视为未输入搜索词,不报错
上一个 / 下一个▲ ▼“上一个” / “下一个”(文件类页面为“上一个匹配”)循环跳转并滚动定位,回车等同“下一个”
保存搜索📌“保存搜索”见保存搜索

页面通常有两条检索条:筛选条(如 筛选传感器名称...)隐藏不匹配内容,搜索高亮条(搜索高亮...)只标记不隐藏。匹配计数有三种显示形式:N处匹配 (i/N)、i/N、预览面板中的 N 处匹配。

保存搜索 ​

  • 支持该功能的视图共 11 个:告警信息、传感器信息、操作日志、一键日志原始文件、框架日志、维护日志、app 日志、串口日志、驱动日志、CSR 原始文件、故障诊断。丝印文件、journalctl、同步属性等页面没有该按钮。
  • 不需要命名,标签由检索词自动生成(超长截断);按文件保存的页面标签带文件名前缀,恢复时自动展开对应文件。
  • 面板中的记录会带页面简称,与页签名称不完全一致:告警(告警信息)、传感器(传感器信息)、文件树(一键日志原始文件)、串口(串口日志)、驱动(驱动日志)、CSR(CSR 原始文件)等,单击记录会跳到对应页面。
  • 最多 20 条,超出后保存不生效且无提示;同页面相同检索词覆盖旧记录。面板标题为 已保存搜索 (N/20)(N 为已保存条数),空列表提示 点击搜索条右侧 📌 按钮保存。
  • 记录存于本机浏览器本地存储,与日志包无关,换机器或清除本地数据后不保留。
  • CSR 原始文件页保存的检索条件不含匹配片段,其预览区显示 无预览数据,请点击"在页面中查看",需单击该按钮后才能看到内容。

分页与每页条数 ​

分页条在列表上方,形式为“首页 / 上一页 / 当前页-总页数 / 下一页 / 末页”加页码跳转框;没有每页条数选择器,页码越界自动钳制到首尾页。

页面每页条数
告警信息(历史 SEL)50
操作日志、app 日志、框架日志、维护日志5000
性能信息(CPU 打点)、同步属性500
调速信息(PID 配置记录)15
传感器信息、一键日志原始文件、CSR 原始文件、故障诊断、FRU 信息、板卡及版本信息不分页

表头不支持单击排序,列头也不会弹出筛选面板;行顺序由解析逻辑固定。

截断与数据量上限 ​

场景实际行为
轮转日志(app、框架、维护、操作;即 app.log 及其历史切片 app.log.1、app.log.2.gz 等)读取全部轮转文件并合并,不做条目数截断,日志过大表现为加载变慢
串口日志(普通文本文件)整体读入不截断;页面仅展示前 5000 行,提示 仅渲染前 5000 行(共 N 行),请用上方筛选缩小范围,但匹配计数覆盖全部内容
串口日志(包内 tar 成员)每个成员最多读取 64MiB;非打印字符替换为 .,只剩空白与控制字符的行被丢弃;成员内容全为二进制时显示 (binary data, N bytes);被截断时标注 (已截断)
调速信息每个设备仅保留前 100 条打点明细,统计卡“数据条数”按全量统计
一键日志原始文件单个文件最多读取约 2MiB,超出部分不显示且没有提示,页面标注的行数会少于真实行数
故障诊断tar 包内每个成员最多读取 256KiB,正文只取前 50000 字符;数据库文件每张表最多展示 200 行,均无提示
目录树最多递归 10 层,忽略隐藏文件

注意:

app 日志、框架日志、维护日志、操作日志页面预留了 日志过大,仅显示最近 50,000 条(共 N 条) 的提示位,但不会返回截断标记,除串口日志的包内文件外该提示不会出现。排查“日志看起来不完整”时不要归因于截断,先看是否命中上表的展示与读取上限。

空态、错误态与加载态 ​

状态默认文案
加载中加载中…(个别页面为 加载中...)
无数据暂无数据,多数页面使用自定义文案(见各页面功能说明各节“提示文案”)
失败加载失败 并显示原因文本;单请求超时 30 秒,提示 请求超时: <接口名>

空态提示由图标与文字两部分组成,本文“提示文案”只给文字本体(⚠ 与 ✅ 开头的属于文案本身);同一图标在不同页面复用,不能凭图标判断页面。部分页面在目录缺失时不报错而返回空结果(框架日志、维护日志、app 日志、同步属性)。出现具体“缺少 xxx 目录/文件”字样才是读取失败,只有“无数据”类文案说明该日志本身为空。

数据取值约定 ​

情形页面表现
字段缺失、空串或为 Unknown键值对区不显示该字段;表格单元格显示 -- 或 -
无效哨兵值255、65535、16777215、4294967295、N/A、0xFFFF 按“无数据”处理(整行不显示或显示 --);存储明细另把不小于 1 亿的容量值也当无数据处理
磁盘协议与介质类型编码协议:1→parallel.SCSI、2→SAS、3→SATA、4→FC,0 与 255 显示 Unknown;介质:0→HDD、1→SSD、2→SSM,255 显示 Unknown;表中未收录的编码按原始值显示
磁盘健康度0 正常(绿)、1 轻微(橙)、其他显示 故障(原值)(红);无健康度时按故障位、预判故障位、缺失位分别显示
在位判定值为 1、true 或 present 计为在位;处理器、内存列表只展示在位条目
传感器读数与门限不可用按原始文本 na 显示,不额外标记
告警严重级别表格显示日志中的原始级别文本,不做中文翻译;中文标签只出现在筛选下拉。紧急与严重加粗着色,轻微(含 Warning)与正常着色不加粗,无法归类不着色
SEL 状态事件产生为红色,其他状态绿色
风扇 PWM原始量程 0~255,页面统一换算为百分比;综合调速 >80% 红色、>50% 告警色
CPU 占用用户态 >80%、系统态 >50%、空闲 <5%、单进程 >50% 时红色标记
内存使用采样值超过 10MiB 的单元格红色加粗
启动耗时组件总耗时 >10 秒红色条块,否则绿色
日志级别与关键词着色FATAL/CRITICAL/ERROR/错误/严重 错误色,WARNING/WARN/警告 告警色,INFO/NOTICE、DEBUG/TRACE 信息与调试色;正文中的 error、failed、fail 红底加粗
高亮命中当前命中琥珀底色,其余淡黄底色
读取与解析失败正文直接显示 (unable to read tar)、(sqlite3 module not available)、(unable to parse database)(故障诊断),(unable to read)(串口日志普通文件),(binary data, N bytes)(串口日志包内成员)

单击时间戳联动应用日志 ​

告警信息、操作日志、性能信息、框架日志、维护日志、journalctl 页面的时间可单击,打开“应用日志”抽屉查看该时刻前后日志:锚点取时间差最小的条目并自动滚动定位;初始展示锚点前后各约 300 条,滚动接近边缘时两侧各再扩展约 200 条;锚点与目标相差超过 1 小时时提示 ⚠ 目标时间超出app.log范围,显示最近可用条目。;宽度可拖拽(320~1200 像素,默认 460,本机持久化);× 或遮罩关闭。

BMC 时钟未同步时日志时间戳为 1970 年,此时向上取最近一条非 1970 时间作为锚点,并在标题保留原始 1970 时间,属预期行为。

机型档案 ​

解析器按机型档案适配细节:读取 FRU 信息判定机型,命中已登记机型使用专用档案,否则使用“通用机型”档案。

影响点通用机型已登记机型
UID 到型号名称不映射,显示 UID 后 8 位按映射表显示型号名
线缆允许缺省一律不允许,缺位组件计入“不在位”并产生排查建议按机型规则豁免特定组件(如扩展板上的 SMM 卡)

说明:

日志包缺少 FRU 信息文件时按已登记机型处理;因此对离线裁剪过的日志包,线缆检测结论可能与真实机型不一致,判断线缆问题前先核对 FRU 信息页的机型。

加载与缓存 ​

同一日志包、同一查询条件的重复请求命中解析结果缓存(按最近使用保留 32 项),不重新读取文件——改完日志内容必须重新导入才会生效。只有成功的结果会被缓存:返回“缺少文件/目录”这类错误的请求不缓存,按目录导入的日志包补好缺失文件后再次请求即可读到内容。页面只显示日志包内相对路径与文件名,不回显宿主机绝对路径。

五、页面速查 ​

我想确认…去这些页面
设备身份、整体健康、硬件规模首页、FRU 信息、板卡及版本信息
有没有告警、什么时候发生告警信息、操作日志
温度/电压/功率是否越限传感器信息、统计信息
散热是否正常工作、策略是否生效调速信息、统计信息
CPU、内存、进程占用与启动慢性能信息
线缆是否插对、组件是否缺位线缆检测、同步属性
属性同步链路是否健康同步属性
事件的 CSR 定义与原始依据CSR 原始文件、故障诊断、一键日志原始文件
批量体检与优先级排序智能检测(操作见Agent 日志体检)
翻运行日志原文或核对丝印配置其他功能下的 框架日志、维护日志、app日志、串口日志、驱动日志、journalctl、丝印文件(见 其他功能)

六、各页面功能说明 ​

说明:

每节说明各页面的数据来源文件、数量上限、取值语义、判定规则与已知限制。

首页(现场概览) ​

  • 设备信息 7 项:产品序列号、主机名(优先完整域名)、iBMC固件版本、MAC地址、全局唯一标识符(优先 GUID 回退 UUID)、BIOS固件版本、BIOS固件发布日期。
  • 资源表“在位”列只统计在位条目;“补充信息”列仅内存(N GiB)与存储(RAID卡: N 物理盘: N 逻辑盘: N)有值。
  • 六个资源详情(处理器、内存、存储、电源、风扇、网络适配器)在单击资源表行的详情入口后于页面内展开,首次打开才解析。
  • 详情页字段翻译不统一:只有电源详情页把字段名映射为中文标签(在位状态、额定功率、输入输出电压、部件编码等,未收录字段回退原始字段名);风扇与网络适配器详情页直接按解析结果字段名展示(不翻译),空值与 Unknown 不显示,因此不同机型字段清单不同。处理器与内存列表只展示在位条目,其“状态”列恒为“在位”。
  • 换算规则:主频 ≥1000MHz 显示 GHz;内存容量 ≥1024MiB 显示 GB;网卡速率 ≥1000Mbps 显示 Gbps,无效值显示 --;磁盘容量按 TB/GB/MiB 自动换算,异常值显示 --。
  • 存储详情含 存储信息 与 RAID日志 两个子页签,每次进入默认回到 存储信息。解析结果包含逻辑卷与磁盘阵列数据,页面未提供展示入口。

数据来源:AppDump/product_mgmt、bmc_network、firmware_mgmt、compute、storage、power_mgmt、thermal_mgmt、network_adapter、event;电源数量与产品名称、序列号、制造商另取 AppDump/frudata/fruinfo.txt。

提示文案:暂无资源信息、无处理器数据、无内存数据、未找到存储信息、无RAID日志、无电源数据、无风扇数据、未找到网卡信息;网卡数据解析异常时显示 解析网卡信息失败。

FRU 信息 ​

  • FRU 字段按原始英文字段名展示(不翻译),空值字段不显示;扩展信息优先拆出描述、问题编号、CLEI 码、BOM、型号,无法识别时整串作为 Raw 显示。
  • 设备卡片默认全部收起;设备 ID 为 0 的 BMC 记录排在列表最后。
  • 架构图由 FRU 数据动态生成,按名称与描述关键词归类为 硬盘背板、风扇板、CPU板、扩展板、Riser、电源、网卡、BMC、PCIe卡,未识别类型不进入架构图;日志加载完成后会自动弹出一次,可用 × 或点遮罩关闭,获取失败时不显示入口且不影响其余 FRU 内容。

数据来源:AppDump/frudata/fruinfo.txt,架构图另用 AppDump/pcie_device/mdb_info.log。

提示文案:未找到 FRU 信息;缺少文件时 fruinfo.txt not found。

告警信息 ​

  • 一次查询同时返回当前告警与历史 SEL 首页数据;当前告警不分页,历史 SEL 每页 50 条。
  • 级别归类规则:级别文本含 critical 归紧急、含 major 归严重、含 minor 或 warning 归轻微、含 normal 归正常,无法归类不着色。
  • 描述恰为 System in health state. 的当前告警行被当作健康占位过滤,不显示。
  • 行筛选命中任一单元格即保留该行;搜索高亮只标记不隐藏。

数据来源:AppDump/event 下的当前告警文件与 SEL 记录文件(含 .gz)。

提示文案:系统运行正常,无当前告警、无匹配的告警、无系统事件记录、无匹配的事件、缺少event目录。

传感器信息 ​

  • 表格列按日志表头动态生成,不同日志包的列集合可能不同;未收录的表头直接按英文原样显示。固定列映射为 sensor id→ID、sensor name→名称、value→值、unit→单位、status→状态、category→类别。
  • 门限与迟滞量列有缩写与全称两套表头写法,映射到同一中文列名:
缩写表头全称表头页面列名
lnr—紧急下门限
lclower critical、lower major严重下门限
lnclower minor轻微下门限
uncupper minor轻微上门限
ucupper critical、upper major严重上门限
unr—紧急上门限
physpositive hysteresis正向迟滞量
nhysnegative hysteresis负向迟滞量

“紧急”档只由缩写 lnr/unr 产生:全称 critical 与 major 都映射到“严重”,因此看到“严重上门限”并不等于日志里没有 non-recoverable 门限。

  • “类别”列由单位判定(degrees C→温度、Volts→电压、Amps→电流、Watts→功率、RPM→风扇转速、discrete→离散),无法判定归入其他;类别筛选按此顺序展示。
  • 类别内出现既非 ok 也非 na 的状态记录时,该类别统计卡左侧标红边。
  • 名称筛选占位符写作“筛选传感器名称...”,实际按全部单元格内容匹配。
  • 不分页,全部记录在固定高度区域内滚动。

数据来源:AppDump/sensor/sensor_info.txt。

提示文案:未找到传感器信息、无匹配的传感器、缺少sensor/sensor_info.txt文件。

操作日志 ​

  • 两个子页签数据源相互独立:操作日志解析自文本行,命令行历史读取各用户的 shell 历史文件,二者无字段级关联。
  • 方式列配色:CLI 紫、WEB 蓝、Redfish 橙,其他(如 SSH)默认色;方式与模块为空时归入 other。
  • 行筛选只作用于“操作详情”列,搜索高亮作用于全列并在跨页命中时自动翻页定位。
  • 轮转文件按名称倒序读取(旧文件在前);命令行历史子页签未点开时显示 无命令行历史记录,点开后才读取。

数据来源:LogDump/operation.log*(.gz 自动解压);RTOSDump/other_info/command_records/<用户>/ash_history。

提示文案:无操作日志记录、无命令行历史记录、缺少command_records目录。

板卡及版本信息 ​

  • 分区标题按固定映射翻译(iBMC 信息、产品信息、Riser 卡信息、硬盘背板信息、CPU 板信息、扩展板信息、风扇板信息、PCIe 卡信息、电源信息、VRD信息),未收录的分区名按原始英文显示(例如网卡信息分区)。
  • 分区内可识别为板卡的条目成卡展示(板卡名称、板卡ID、唯一标识、PCB/CSR/MCU/FPGA/CPLD/BIOS/固件版本、双 CPLD 与双 FPGA 版本、类型、制造商、产品名称、PCIe带宽、VRD版本),其余属性按原始英文键名平铺。
  • 默认只展开第一个分区;app组件版本信息默认收起,其数据文件缺失时整段隐藏且不报错。组件版本串包含版本号、分支、提交标识与时间戳。

数据来源:RTOSDump/versioninfo/app_revision.txt、RTOSDump/versioninfo/package_info。

提示文案:无版本数据;缺少数据文件时提示 缺少RTOSDump/versioninfo/package_info文件。

调速信息 ​

三个子页签的数据源各不相同,按子页签分述如下。

风扇调速 ​

  • 风扇 PWM 原始量程与换算、着色规则见数据取值约定。
  • 打点明细有数量上限,统计卡“数据条数”按全量统计——需要完整打点时到“一键日志原始文件”页看原始文件(上限见截断与数据量上限)。
  • 仅当日志文件多于 1 个时才出现 日志文件 (N个) 选择区。

数据来源:LogDump/cooling_control*。

提示文案:无调速数据、(当前筛选无数据)、缺少LogDump目录、缺少cooling_control日志文件、无法读取日志文件。

PID 配置下发记录 ​

  • 记录按每页 15 条分页展示下发动作。
  • 记录中的环温调速曲线为静态图,不支持悬浮与缩放;曲线点全部无效时提示 ⚠ 此温区无有效调速曲线(全部点为哨兵值,可能为禁用/复位信号)。

数据来源:LogDump/app.log* 中的配置下发记录。

提示文案:无PID配置下发记录。

CoolingPolicy 生效情况 ​

  • 策略类型按取值显示为 1 (InletCustom)、2 (DiskCustom)、4294967295 (InvalidType),未收录取值按原始数字显示;生效状态为“生效”或“不生效”。
  • 条件与区间列过长会省略,可悬浮查看,空值显示 -;区间数组超过 6 个时显示前 3 个 + 省略号 + 后 3 个。

数据来源:AppDump/cooling/mdb_info.log 与 AppDump/thermal_mgmt/mdb_info.log。

提示文案:无CoolingPolicy数据。

性能信息 ​

四个子页签的数据源各不相同,按子页签分述如下。

CPU 使用率 ​

  • 打点记录每页 500 条,超限事件与打点同源。
  • 单 bit ECC 提示由总内存与 1700MiB 比较得出:总内存低于 1700MiB 时显示 该环境已开启单bit ECC (总内存 N MiB < 1700),否则显示 该环境未开启单bit ECC (总内存 N MiB ≥ 1700)。该比较阈值无明确业务依据,判断 ECC 配置请以机型内存规格为准。
  • 占用率着色规则见数据取值约定。

数据来源:LogDump/bmc_health*(文件名需含 bmc_health 且带 .log 或 .gz)。

提示文案:无性能数据、⚠ <原因> 请调整时间范围后重新筛选、缺少bmc_health日志文件、bmc_health日志无有效数据、筛选范围内无数据、无法读取日志文件。

内存监控 ​

首次点开该子页签才解析。

数据来源:LogDump/mem_info_<服务名>.csv,服务名取自文件名。

提示文案:无内存监控数据。

Top 信息 ​

进程快照,按日志采集时刻原样展示,首次点开该子页签才解析。

数据来源:RTOSDump/sysinfo/top_info。

提示文案:缺少top_info文件。

启动耗时 ​

  • 甘特图按秒刻度绘制,组件行可展开查看资源位置与对象组上树时间。
  • 启动周期下拉项由“启动时间 + (第N次)”拼接而成,最后一项追加 ← 最近。时钟未同步时启动时间本身已变成 (未同步) 第N次,拼接后该选项里会出现两次次数(如 (未同步) 第3次 (第3次)),时间列则显示 (未同步到时间)。
  • 首次点开该子页签才解析。

数据来源:LogDump/framework.log* 与 LogDump/app.log* 中的启动与上树记录。

提示文案:无启动耗时数据。

统计信息 ​

  • 页面为两张入口卡片,单击后才加载对应区块。本页卡片名写作 入风口温度,而首页占位标签写作 进风口温度,两处指同一数据。
  • 统计卡数值由页面按当前时间筛选范围重新计算;修改起止时间后同步变化。
  • 时间筛选按整分钟区间比较,起止分钟均包含在内;首次加载按数据首末时间预填,重置 清空。
  • 图例可点选隐藏某一功率系列,图表不支持缩放;横轴不显示年份。
  • 本页不提供关键字筛选、搜索高亮与保存搜索。

数据来源:功率统计取 AppDump/power_strategy/power_statistics.csv,入风口温度取 AppDump/cooling/env_web_view.dat。

提示文案:所选时间范围内无功率数据、所选时间范围内无温度数据、缺少power_statistics.csv、缺少env_web_view.dat。

智能检测 ​

  • 本页数据来自 Agent 日志体检的分析结果,不是从日志包直接解析;分析操作与结果字段含义见 Agent 日志体检。
  • 结构化诊断按前后 5 分钟的时间窗口回溯关联错误日志,超出窗口或模块不匹配时给出结论性提示,而不是留空。
  • 状态与按钮可用性:
状态显示复制 Prompt重新分析导出 PDF
未开始等待开始可用不可用不可用
进行中分析中可用不可用不可用
结束已完成不可用可用可用
失败分析失败不可用可用不可用
  • RAG 来源可信度显示为三档:非常高(故障案例库)、较高(含故障案例库)、一般(其他知识来源)。
  • “复制 Prompt 模板”先弹出“补充分析信息”对话框:问题描述与相关代码仓均为选填(描述最长 4000 字符、仓库地址每行一个最多 5 个),描述框提示语为 请描述异常现象、发生条件、期望结果与实际差异,可补充分支或固件版本。,可“跳过并复制”。
  • 窗口宽度不足时先隐藏置信度条,再隐藏得分条,不影响问题内容。
  • 复制与重新分析的取消反馈:复制状态异常时提示 Prompt 未复制,请重试;取消保存对话框后分别提示 已取消导出、已取消重新分析。

数据来源:分析会话数据(来自 Agent 日志体检),问题证据关联 AppDump/event 与 AppDump/fault_diagnosis。

提示文案:等待 Agent 分析结果、本次分析未生成问题报告;失败状态下建议语为 解决失败原因后点击“重新分析”,再复制新的 Prompt 模板。。结构化诊断找不到关联日志时提示 未在前后5分钟内找到关联错误日志 (模块=N)、无法确定采集时间、检测时间范围无效、该操作可能未产生app日志,或app日志已被轮转 或 该操作可能因非模块错误导致(如超时、网络断开),检查操作日志详情。

线缆检测 ​

  • 五个统计卡:总线缆端口、匹配成功、插错、缺失、不在位。插错与不在位大于 0 变红、缺失大于 0 变橙。
  • 状态取值与释义:
状态颜色释义
MATCHED绿线缆正确
INCORRECT红线缆插错(组件对但端口号不对)
INCOMPLETE橙线缆缺失或未插全
NOT_EXIST红组件不在位(触发告警)
INITIAL灰去重端口或空槽,不告警
NOT_SUPPORT灰空槽、去重或未安装,不告警(未列入页面图例)
  • 建议面板按状态生成:端口插错给出期望槽位;端口缺失建议把对应端口线缆插入该槽位;槽位期望连接但无任何线缆时给出槽位级告警;必需组件不在位时区分两种建议——线缆已连但卡位错(形如 <组件>→线缆已连接(<端口>),但卡不在<槽位>槽位,请检查卡是否安装)与未检测到线缆。
  • 接线图为按机型预置的固定节点与连线,节点可拖动;非该机型时此图含义不适用,请以 📡 BCU端口实际连接 与 📋 槽位白名单配置 两张表为准。
  • 机型档案会豁免特定组件的缺位告警,见机型档案。
  • 本页不提供关键字筛选、搜索高亮与保存搜索。

数据来源:AppDump/pcie_device/cable_info 与 AppDump/pcie_device/mdb_info.log。

提示文案:未找到线缆检测数据、cable_info not found;全部正常时 ✅ 所有UBC线缆连接正确。

同步属性 ​

  • 每行是一个同步属性记录,展开后可见各源参数的来源服务、对象路径、接口.属性、历史值序列、更新时间序列与逐次更新方式。
  • 更新方式取值与含义:主动(按需或周期读取源属性)、信号(源属性变化上报)、上树(源对象上树时触发)。页面说明框给出的组合判读:仅主动为“⚠ 被动”、主动+信号为“● 健康”、主动+上树+信号为“● 完整”。
  • 值振荡判定:某源参数历史值不少于 3 个且相邻取值不同不少于 2 处,异常行整行淡红底并在展开区提示 ⚠ 值振荡(历史值交替变化)。
  • 表达式超过 40 字符省略,悬浮查看完整内容;多条表达式逗号分隔。
  • 每页 500 条;任一筛选条件变化会重置页码并收起展开行。
  • 日志包缺少对应目录时返回空结果(不报错),页面显示无数据。

数据来源:AppDump/<组件目录>/sync_property_trace.log。

提示文案:未找到同步属性 Trace。

一键日志原始文件 ​

  • 目录树徽标:目录为直接子项个数,文件为格式化大小;树筛选按名称子串匹配(忽略大小写),命中时自动展开全部父级。
  • 文件标题栏显示大小与行数;行数按已加载内容统计,大文件会因读取上限偏少于真实值(见截断与数据量上限)。
  • 每个文件保留各自的搜索条件,切换文件时自动恢复。
  • 本页不提供复制与下载入口,需要导出原文请用系统工具打开文件。

数据来源:日志包根目录下全部文件。

提示文案:未找到日志目录、选择左侧文件查看内容、Invalid path、Cannot read file、Not found。

其他功能 ​

“其他功能”页签含 9 个子页面,其中 7 个(框架日志、维护日志、app 日志、串口日志、驱动日志、CSR 原始文件、故障诊断)使用同一类日志浏览器(本文对这类共用同一套文件卡片与检索条的页面的统称)。该浏览器由四部分组成:折叠的文件选择卡片(勾选后“确认加载”)、筛选条(隐藏不匹配内容)、搜索高亮条(只标记不隐藏)、保存搜索(支持范围见保存搜索)。各子页面的差异如下:

子页面数据来源空态文案特有行为
框架日志LogDump/framework.log*无框架日志条目每页 5000 条;时间可单击联动应用日志
维护日志LogDump/maintenance.log*无维护日志条目每页 5000 条;时间可单击联动应用日志
app 日志LogDump/app.log*无app日志记录每页 5000 条;模块取消息首词,可按模块筛选(不勾选等价“全部”)
串口日志OSDump/ 文本文件与其内 tar 包无串口日志文件按文件卡片浏览,每文件可独立搜索与保存搜索;包内文件被截断时标注 (已截断);图片文件不收录;行数展示与包内成员的读取、清洗规则见截断与数据量上限
驱动日志RTOSDump/driver_info/无驱动日志文件;缺目录时 缺少RTOSDump/driver_info目录不分页、不截断展示;第一个文件默认展开;全局搜索隐藏不匹配行,文件内搜索只高亮
journalctlRTOSDump/sysinfo/journalctl.log,缺失时回退 LogDump/journalctl.log未找到日志条目只取其一不合并;按行首三段切分时间/主机/服务,其余为消息;展开可“在本条中查找”;按消息内容整行着色;时间可单击联动应用日志
CSR 原始文件AppDump/hwdiscovery无CSR文件;缺目录时 缺少AppDump/hwdiscovery目录见 CSR 原始文件为合并视图
丝印文件AppDump/bios 及其一级子目录下的丝印配置文件未找到丝印配置;缺目录时 缺少AppDump/bios目录无搜索与筛选;段名固定映射(属性信息、硬盘丝印、网卡丝印、内存丝印、PCIe丝印、CPU丝印),只展示实际存在且非空的段;数组段的列名取首条记录字段名,因此列集合随日志包变化;解析失败的文件被静默跳过
故障诊断AppDump/fault_diagnosis无诊断文件;缺目录时 缺少AppDump/fault_diagnosis目录类型徽标分数据库、tar 压缩包、JSON、文本四类;tar 按成员分段展示、数据库按表展示;读取与展示上限见截断与数据量上限;解析失败显示 (unable to read tar) 等占位文本;同步属性跟踪文件不在本页展示

CSR 原始文件为合并视图 ​

同名主文件(<名称>.sr)与软件叠加文件(<名称>_soft.sr)合并,主文件的对象定义覆盖叠加文件,并在文件名后标注 (已合并_soft.sr);存在同名 .sr 时不再展示其二进制导出文件 .bin;只有 .bin 时尝试解压还原出 JSON 并标注 (解压)。因此页面上看不到单独的叠加文件条目。文件卡片标注对象数与行数,展开后可文件内搜索与复制全文。

注意:

缺少 AppDump/fault_diagnosis 时本页无数据,其余页面不受影响;对 AI 分析的影响见 Agent 日志体检 中的会话异常处理。

七、AI 辅助分析 ​

Agent 日志体检 ​

日志体检将本地日志证据与 openUBMC RAG 检索结果关联,按严重程度、紧急度和置信度排列问题。故障案例库是可信度最高的知识来源,但不是唯一可用来源。

日志体检的整体流程:智能检测页“复制 Prompt 模板”→ 交给能访问 openUBMC Studio MCP 的 AI Agent → Agent 调用 openUBMC RAG 检索故障案例并实时回写问题到“Agent 日志问题”区域 → 完成后按 TopN 截取、稳定排序,再“导出 PDF 报告”生成可复核结论。

复制分析 Prompt ​

  1. 打开日志页面顶部的“智能检测”(页面构成见智能检测)。
  2. 单击“复制 Prompt 模板”,可在弹出的“补充分析信息”对话框中补充线索(见智能检测),或直接“跳过并复制”。
  3. 将 Prompt 粘贴到能够访问 openUBMC Studio MCP 工具的 AI Agent 中并发送。
  4. 等待 AI Agent 完成 RAG 状态检查并开始分析。复制成功后页面提示 Prompt 模板已复制,请粘贴给 Agent 开始分析;新建任务时提示 已创建新的分析任务,请复制 Prompt 模板后交给 Agent。

Prompt 已自带以下约束,无需手动填写日志路径:只允许读取当前分析任务绑定的日志包;必须先检查 RAG 连接与社区登录状态;必须保留 RAG 引用的真实来源;每个问题必须同时给出 RAG 匹配内容与本地日志证据;完成后按用户配置的 TopN 返回结果。

MCP 工具调用失败时以短语返回原因(打开失败、取数失败、查询失败、回调失败: N、分析任务不存在或已关闭),AI Agent 会据此提示下一步。

查看实时问题 ​

分析期间每个已确认的问题会实时显示在“Agent 日志问题”区域,问题卡片包含:

字段说明
严重程度CRITICAL、HIGH、MEDIUM、LOW
紧急度综合故障影响、恶化可能、冗余能力与修复窗口计算的 0~100 分
置信度本地多源证据与 RAG 知识的一致程度
可能原因 / 处理建议Agent 给出的判断与处置建议
RAG 匹配内容检索到的知识段落、来源及可信度(三档显示见智能检测)
日志证据日志片段、日志包内相对路径与定位信息

说明:

图示为分析未开始的等待状态;分析运行后,问题卡片按上表字段实时出现在此区域。

同一根因产生的重复现象会合并为一个问题;分析完成后按严重程度、紧急度、置信度排序,展示最紧急的 TopN 问题。

Agent 回写的每条问题都要通过字段校验(严重程度、紧急度、置信度、事件标识与证据字段均需合规)。校验不通过时该条写入被拒绝,页面不会出现这个问题。

配置 TopN ​

默认 10,可设 1~50,设置方法见命令与设置项。TopN 只限制分析完成后页面与 PDF 报告中展示的问题数量,Agent 可在分析过程中回写更多候选问题,插件在完成时统一排序与截取。已创建的分析会话沿用创建时的取值。

导出 PDF 报告 ​

仅在状态为“已完成”时可用(页面显示 分析状态:已完成)。选择保存路径后提示 PDF 报告已导出: <路径>(取消时的提示见智能检测)。导出后核对摘要、问题排序、RAG 内容、日志证据与处理建议。报告在扩展宿主运行期间可持续导出;完全关闭或重启 Studio 后内存中的分析会话不保留,需重新发起分析。

会话异常处理 ​

场景预期行为
分析期间关闭日志页面Agent 回调继续写入后台会话,重新打开同一日志后恢复状态
页面关闭较长时间后重新打开运行中的会话按空闲策略管理,重新打开并操作后刷新活跃状态
从“最近打开”删除日志对应页面关闭,关联分析会话被清理
清空“最近打开”所有日志页面关闭,关联分析会话被清理
RAG 不可用(未登录、地址或凭据未配置、网络不通、单次检索超 30 秒)分析停止并显示登录、网络或配置建议,不生成主观问题
日志中没有诊断内容日志包格式有效时分析完成并显示 0 个问题,PDF 报告可导出
缺少 AppDump导入失败(提示语见导入日志);由 AI Agent 打开时提示 <目录> 下未找到 AppDump 目录,无法打开可视化面板
缺少 AppDump/fault_diagnosis结构化诊断失败,分析任务被标记为失败
Agent 写入时任务已被替换工具返回 分析任务已变更,请重新打开补充信息弹框 或 日志分析窗口已关闭或任务已变更,需重新复制 Prompt
任务已结束后 Agent 继续写入返回 当前分析已结束,请先点击“重新分析”创建新任务
分析进行中再次发起返回 当前分析仍在进行中,完成或失败后才能重新分析
任务结束后仍有写入工具返回 分析任务已结束,不能继续写入

定向诊断 ​

在 AI Agent 对话中提供日志路径与分析目标即可,例如:

text
请打开并诊断 /path/to/bmc-log.tar.gz,先给出设备健康概览、关键异常和对应证据位置。

Studio 会打开同一份日志的可视化面板,并把结构化数据交给 Agent。若 Agent 跳过打开步骤直接调用读取类工具,会得到要求先调用 log_reviewer_open 打开日志包的提示,让它先打开日志包即可。可继续要求聚焦某个领域,再回到对应页面复核:

text
继续分析当前日志中的散热异常,关联传感器、调速策略、功率和相关运行日志。

告警链条分析 ​

分析单条告警时,建议提供以下任一组定位信息:

  • 事件码与发生时间。事件码格式为 0x 后接 8 位十六进制数字,时间格式为 YYYY-MM-DD HH:mm:ss。
  • sel.txt 中的事件记录 ID,可据此解析事件码与发生时间。
  • 需要区分多个告警实例时,再补充组件或实例名称。

示例:

text
基于当前打开的一键日志,分析事件码 0x12345678、时间 2026-08-28 14:23:16 的完整告警触发链。
请说明当前告警状态、已观察到和缺失的阶段、恢复与复发情况,并在每个节点标注证据文件及行号或数据库记录位置。

Agent 会根据日志中的实际证据给出:唯一告警锚点(即在日志中锁定到的那条告警记录)及匹配方式;当前状态(active、inactive、conflicted、unknown)及状态依据;已观察到的触发流程(采样、数值转换、门限或事件规则求值、事件存储、北向上报),未采集到的阶段标记为缺失;运行期事件与 dump 内 .sr 文件中 CSR Event/PowerEvent 定义的关联结果;恢复配对、复发次数下界、历史覆盖范围与可能的时钟跳变;每个关键事实的相对路径、行号、列号、JSON Pointer 或数据库定位。

注意:

告警链条分析只关联日志中可观察到的事实,不会把时间相邻的事件视为因果,也不会用静态 CSR 定义证明规则在告警时刻一定执行。日志缺失或状态冲突时,结论会保留为“证据不足”或“存在冲突”,需结合现场信息与业务知识继续判断。

八、命令与设置项 ​

设置项 ​

设置项默认值说明
bmcstudio.logReviewer.analysisTopN10分析完成后页面与 PDF 报告中展示的问题数量,可设 1~50;已创建的分析会话沿用创建时取值,需删除“最近打开”中的该日志后重新导入才生效

设置入口为 IDE 侧边栏“最近打开”视图标题栏的齿轮按钮,单击后在编辑器中打开设置页并定位到 bmcstudio.logReviewer 相关配置项。

命令与入口 ​

命令标题可触发位置命令面板可见
打开 BMC 一键日志压缩包“最近打开”视图标题栏按钮、右键 .gz/.tgz/.tar/.zip 文件可见
打开 BMC 一键日志“最近打开”视图标题栏按钮、右键文件夹可见
刷新最近打开“最近打开”视图标题栏按钮隐藏
打开最近的 dump单击“最近打开”中的条目时内部调用隐藏
从最近打开中移除鼠标悬浮条目时出现的移除按钮,或条目右键菜单隐藏
清空最近打开“最近打开”视图标题栏按钮可见
设置日志分析 TopN“最近打开”视图标题栏齿轮按钮可见

“命令面板可见”按插件的 commandPalette 规则判定:刷新最近打开、打开最近的 dump、从最近打开中移除 被显式隐藏,只能从界面按钮或菜单触发。扩展未注册独立快捷键。

九、数据范围与安全边界 ​

  • AI Agent 日志工具只能访问分析任务绑定的日志包,不会自动选择其他历史日志。
  • 日志证据使用日志包内相对路径,不回显宿主机绝对路径;解压产生的临时目录位于系统临时目录(前缀 bmc-log-),由插件管理。
  • 日志体检唯一允许访问的外部知识是 openUBMC RAG 状态与知识检索结果。
  • tar 系列导入会拒绝路径逃逸、绝对路径与解压炸弹,并忽略符号链接、硬链接与设备文件。
  • PDF 报告只包含当前分析会话中的摘要、TopN 问题、RAG 依据与日志证据。
  • 保存搜索与抽屉宽度等偏好存于本机浏览器本地存储,与日志包无关。

十、常见问题 ​

Q1:导入失败并提示文件可能不是 openUBMC 一键日志包 ​

日志包内未找到 AppDump 目录。按提示的“顶层内容”或“路径”核对目录层级——压缩包内需含 AppDump,或直接选中包含该目录的 dump 根目录后重新导入。详见导入日志。

Q2:页面显示“缺少 xxx 目录/文件”与“无数据”有什么区别 ​

“缺少 xxx 目录/文件”表示该目录确实不在日志包内(读取失败);“无数据”表示数据源存在但无匹配内容(多为日志为空或筛选过窄)。先清筛选与搜索条件,仍空则对照各页面功能说明中该页的数据来源核对依赖的目录。

Q3:文件内容只显示一部分,行数与真实文件不符 ​

“一键日志原始文件”与串口日志均有读取/展示上限,故正文与行数会偏少于真实文件。用筛选缩小范围,或用系统工具直接打开原文。详见截断与数据量上限。

Q4:调速信息里某个风扇的明细少于统计卡数值 ​

属预期:调速每设备打点明细有数量上限,统计卡“数据条数”按全量统计,故明细可少于统计值。需完整数据时到“一键日志原始文件”页查看对应 cooling_control 文件。详见截断与数据量上限。

Q5:修改 TopN 后结果数量未变化,或重启 Studio 后分析结果丢失 ​

TopN 仅对新分析会话生效——需从“最近打开”删除该日志重新导入并发起分析;分析结果存于扩展宿主内存,Studio 完全重启后不保留,需重新发起或提前导出 PDF 报告。详见命令与设置项与 Agent 日志体检。

Q6:保存搜索没有生效 ​

保存搜索有数量上限且超出静默失败、无提示;同一页面相同检索词会覆盖旧记录,看起来像“没新增”。在“已保存搜索”面板清部分记录后重存。详见保存搜索。

Q7:顶部显示电源状态为上电且无告警,但现场明明有告警 ​

一键日志包不保存上电状态与指示灯历史值,顶部按固定值展示、不反映采集时刻;顶部告警数取自 AppDump/event。以告警信息页的当前告警与历史 SEL 为准,两页皆空则检查日志包是否缺 AppDump/event。

Q8:改过日志包内容或换了日志包,页面却没有变化 ​

同一日志包、同一查询命中解析结果缓存,不重新读文件。从“最近打开”删除该日志后重新导入,或直接导入新日志包。详见加载与缓存。

Q9:顶部页签、保存搜索按钮找不到,或接线图与现场接线对不上 ​

保存搜索并非所有视图支持;接线图为按机型预置的固定节点,非该机型时不适用。接线图以 📡 BCU端口实际连接、📋 槽位白名单配置 两表为准,并先核对机型档案。详见保存搜索。

Q10:AI Agent 报找不到分析任务或回调失败,页面一直没有问题 ​

Agent 可能报“分析任务不存在”或回调失败。原因:任务标识与回调地址仅在日志页面打开且回调可达扩展宿主时有效,页面关闭、Studio 重启或用旧 Prompt 都会让回调失败,回环地址被代理改写时回调返回非 JSON。处理:保持页面打开、重新复制 Prompt;将 localhost、127.0.0.0/8、::1 加入代理直连或 NO_PROXY 后重启 Studio 与 Agent;仍无结果则核对社区登录、openubmc-rag 扩展与 LightRAG 可达性。详见 Agent 日志体检。

十一、附录 ​

术语 ​

术语说明
一键日志 / dumpBMC 收集并打包的现场日志集合,解压后含 AppDump、LogDump、RTOSDump、OSDump 等目录
AppDump业务组件导出的结构化数据,是各可视化页面的主要来源
SEL系统事件日志,记录历史告警事件
FRU现场可更换单元的部件信息
CSR硬件描述文件(.sr),描述器件、总线与事件定义
同步属性由其他组件属性经表达式或直接映射同步而来的属性
PWM风扇调速占空比;原始量程、换算与着色规则见“数据取值约定”
CLEI硬件兼容代码,出现在 FRU 扩展信息中
BOM物料清单号,出现在 FRU 扩展信息中
RAGopenUBMC 社区知识库检索能力,Agent 日志体检的外部知识来源
扩展宿主openUBMC Studio 主进程一侧的运行环境,插件的解析与 AI 会话在其中执行,页面通过请求与之通信
MCPModel Context Protocol,AI Agent 调用 openUBMC Studio 工具(读取日志、回写问题)的协议通道
LightRAGopenUBMC RAG 的知识库服务,openubmc-rag 扩展通过它检索社区文档与故障案例
上树资源对象挂载进 MDB 对象树、从而对北向可见的动作
打点按固定周期采样写入日志的记录,如风扇调速、CPU 使用率打点
哨兵值日志里用来表示“无数据”的固定取值,如 255、65535、0xFFFF
机型档案解析器按机型适配的差异配置,见“机型档案”一节
CoolingPolicy散热策略对象,由 thermal_mgmt 组件导出,页面展示其配置与生效情况
环温调速以环境温度(进风口温度)为输入的调速配置与曲线
抽屉从页面右侧滑出的浮层面板,本文指“应用日志”抽屉

相关文档 ​