跳到主要内容

诊断

目录


概述

诊断界面将平台内部产生的所有诊断事件(信息·警告·严重)通过时间顺序时间轴 + 表格 + 统计图表三个视角一并呈现。系统管理员或操作员排查故障原因时,最先进入的就是该界面。

该界面将以下功能整合为一体。

  • 时间轴 — 一眼看清在时间流中何时发生了什么
  • 日志表 — 精确的时间、应用、级别与消息内容
  • 统计面板 — 级别占比、时段分布、应用分布

路径:左侧菜单 > System > 诊断(内部 URL /diagnostic/index


界面构成

┌───────────────────────────────────────────────────────────────────────────────┐
│ 🩺 진단 │
│ [기간] [애플리케이션] [레벨] [건수] [조회] [전체 출력] [↻] │ ← ① 검색 영역
├───────────────────────────────────────────────────────────────────────────────┤
│ 타임라인 + 빠른 시간 범위 │ ← ② 타임라인
├──────────────────────────────────────────────────────────┬────────────────────┤
│ │ 🥧 통계 │
│ 진단 로그 테이블 │ 검색된 진단 N건 │
│ 애플리케이션 │ 레벨 │ 시간 │ 메세지 │ 정보·경고·심각 뱃지│ ← ③
│ ... │ 레벨 비율 차트 │
│ ├────────────────────┤
│ │ 📊 시간별 발생 추이 │
│ ├────────────────────┤
│ │ 🖥 애플리케이션별 │
│ │ 분포 │
└──────────────────────────────────────────────────────────┴────────────────────┘
区域位置显示内容
① 搜索区域右上角 form时间段·应用·级别·显示条数 + 查询/全量导出/刷新
② 时间轴整幅宽度时间流上的诊断标记 + 6 个快捷时间范围按钮
③ 左侧col-lg-8诊断日志表(固定 4 列)
③ 右侧col-lg-43 个统计面板(级别占比·时间趋势·应用分布)

顶部搜索区域

页面右上角的搜索表单排成一行,从左到右依次为以下控件。

输入字段与按钮

控件宽度形式默认值·选项说明
时间段 (search_time)280px文本输入(居中对齐、粗体)点击后打开日期·时间范围选择器,设置开始/结束时间。表单内部通过 hidden 字段 search_date_from / search_date_to 传递
应用 (app_name)120px下拉框服务器 (SERVER)、代理 (AGENT)、批处理 (BATCH)、边缘网关 (EDGE)发出诊断的模块
级别 (level)100px下拉框全部级别、信息 (INFO)、警告 (WARN)、严重 (ERROR)诊断级别过滤。留空则为全部
消息搜索 (message)250px(隐藏)文本输入消息正文关键字搜索。默认隐藏,视运行环境决定是否显示
条数 (limit)130px下拉框100、200、300、500、1,000要显示的最近诊断条数
查询(自动)红色按钮 + 🔍按上述条件查询诊断数据
全量导出(自动)红色按钮 + 📄将当前条件的诊断结果批量下载为 CSV 文件
刷新 (realtime_icon)(自动)红色按钮 + ↻沿用上次条件重新查询 — 可当作仪表板使用

应用下拉框含义

标签说明
SERVER服务器Web 服务器·管理控制台·域服务
AGENT代理数据采集代理(流水线)
BATCH批处理批处理·汇总·报表生成
EDGE边缘网关边缘设备(安装在现场的网关)

级别下拉框含义

标签颜色含义建议措施
``(空值)全部级别所有级别
INFO信息蓝色正常运行信息·启动/停止通知等无需额外处理
WARN警告橙色潜在问题·超过软阈值关注趋势,巡检同时段的其他模块
ERROR严重红色错误·功能故障·异常立即排查原因 + 联系系统管理员

时间轴

搜索区域下方的面板中绘制诊断时间轴。

项目说明
表头🕐 “时间轴” + 右侧小字显示搜索结果摘要(result_txt
时间轴主体alarm_timeline — 横轴为时间,诊断项以彩色标记显示
标记颜色信息=蓝色,警告=橙色,严重=红色
悬停鼠标悬停在标记上时显示时间 + 消息预览提示框
点击左侧表格中对应诊断的行自动高亮

快捷时间范围 (Timeline range)

通过时间轴表头右侧的 6 个按钮可立即缩放。

按钮data-range动作
10分钟前10M缩放到最近 10 分钟区间
30分钟前30M缩放到最近 30 分钟区间
1小时前1H缩放到最近 1 小时区间
6小时前6H缩放到最近 6 小时区间
12小时前12H缩放到最近 12 小时区间
全时段ALL搜索的完整区间(默认激活)

快捷范围按钮只在界面上已查询出的结果上应用缩放。若要查看更长的时间段,需通过搜索区域的 时间段 输入重新查询。


左侧 — 诊断日志表

| 애플리케이션 | 레벨 | 시간 | 메세지 |
|-------------|------|------------------|--------------------------------------|
| server | ERROR| 2026-05-08 12:00 | Connection timeout to upstream... |
| messaging | WARN | 2026-05-08 11:55 | Buffer overflow threshold reached... |
宽度对齐显示内容
应用140px居中发出诊断的模块名(例如:serveragentbatchedge
级别80px居中彩色徽章 — INFO(蓝)/ WARN(橙)/ ERROR(红)
时间160px居中诊断发生时刻 (yyyy-MM-dd HH:mm:ss)
消息自动(剩余)左对齐诊断正文(表格为 table-layout: fixed,因此按单元格宽度截断 — 若要换行查看,请双击该行或鼠标悬停)

行交互

  • 悬停:行背景高亮
  • 点击:时间轴上对应标记同步高亮(左右联动)
  • 双击/弹窗:以模态框显示完整正文及 stack trace 等附加信息

表格底部分页

查询条数较多时按页分割。每页行数由搜索区域的 条数 下拉框(100/200/300/500/1,000)决定。


右侧统计面板(3 个)

搜索结果的统计可视化。三者均以不同视角展示与左侧表格相同的数据。

1. 统计 — 级别占比 (diag_level_chart)

┌────────────────────────────────┐
│ 검색된 진단 : N 건 │ ← 큰 글씨 헤드라인
│ [정보 N] [경고 N] [심각 N] │ ← 3색 뱃지
│ │
│ 도넛/막대 차트 │ ← diag_level_chart (150px 높이)
└────────────────────────────────┘
项目ID显示内容
标题数值“检索到的诊断:N 条” 大号字
检索到的总条数diag_total_count整数
信息徽章diag_info_count信息级别条数 — 蓝色背景
警告徽章diag_warn_count警告级别条数 — 橙色背景
严重徽章diag_error_count严重级别条数 — 红色背景
级别占比图表diag_level_chart信息·警告·严重占比图表
空状态提示diag_stats_empty无数据时显示“无数据。”

2. 按时间发生趋势 (diag_hourly_chart)

项目说明
表头📊 “按时间发生趋势”
图表按时段(小时单位)的柱状图(高 170px)— X 轴为时间,Y 轴为诊断条数
柱体分段信息/警告/严重以颜色堆叠显示

解读:若某个时段柱体突然飙升,说明该时刻发生了大规模异常。记下该时刻,在左侧表格中双击对应时刻的行查看详情。

3. 按应用分布 (diag_app_chart)

项目说明
表头🖥 “按应用分布”
图表环形/柱状图(高 140px)— 各应用的诊断条数

解读:若某个应用占比超过 70%,很可能是故障集中在该模块。请通过搜索区域的 应用 下拉框收窄后查询,再查看左侧表格。


全量导出 (CSV)

点击搜索区域的 全量导出 按钮,可将当前搜索条件下的所有诊断下载为 CSV 文件。

CSV 列

格式
应用文本
级别文本 (INFO/WARN/ERROR)
时间文本 (yyyy-MM-dd HH:mm:ss)
消息文本(双引号转义)

CSV 导出的不仅是界面上可见的行,而是 符合搜索条件的全部结果。它不受 条数 下拉框(最近 N 条)的影响,因此适合长期分析。

CSV 使用技巧

  • 提交给系统管理员时以压缩包(.zip)附上
  • 导入外部分析工具(电子表格·BI 工具),按模块、时段、关键字做进一步分析
  • 汇总一周数据进行比对,确认是否每天重复相同模式

发生故障时的标准诊断流程

发生故障时,按以下顺序进行可高效定位原因。

第 1 步 — 收窄时间范围

  • 时间段 输入中指定故障发生时刻 ±10 分钟 ~ ±30 分钟
  • 条数 设为 1,000 条(避免遗漏项目)

第 2 步 — 优先查询严重级别

  1. 级别 下拉框设为 严重 (ERROR)查询
  2. 从左侧表格第一行(最近的 ERROR)开始确认消息
  3. 通过右侧 按应用分布 图表确认哪个模块产生了较多 ERROR

第 3 步 — 确认同时段的警告

  1. 级别 改为 警告 (WARN),查询相同时间段
  2. 确认 ERROR 之前 1~5 分钟内发生的 WARN 消息 — 通常是 ERROR 的线索

第 4 步 — 按模块收窄

  1. 应用 下拉框选择 ERROR/WARN 最多的应用
  2. 级别 重新放开为 全部级别,查看模块内的全部流转 — INFO 中断的时点就是线索

第 5 步 — 消息模式

检查左侧表格的消息正文。区分是相同消息反复出现(规则风暴),还是仅出现一次的偶发(外部状态变动)。

第 6 步 — 移交系统管理员

若故障原因操作员无法自行处理,请通过 全量导出 按钮下载 CSV 文件并提交给系统管理员。报告时建议一并附上以下内容。

  • 故障发生时刻(首个 ERROR 的时间)
  • 影响范围(哪个站点/模块)
  • 1~3 条 ERROR 消息文本
  • CSV 文件

常见诊断消息模式

消息关键字含义一般措施
Connection timeout外部服务连接超时检查网络状态·目标服务是否运行
Out of memory / OOM内存不足巡检系统资源·考虑重启(系统管理员)
Disk space low磁盘可用空间不足清理旧数据或扩容磁盘
Authentication failed认证失败确认令牌·账号信息是否过期/错误
Buffer overflow处理队列已满通过触发器前置过滤·外部 IO 限流来平抑负载
Job already running作业重复执行上一个作业未完成 — 由系统管理员巡检
Failed to parse消息解析失败检查外部系统的报文格式
Schema mismatchDB/消息 schema 不匹配由系统管理员巡检(可能是刚部署完)
Pipeline exception数据流水线异常一并确认 日统计的选定日期详细图表
Edge disconnect边缘设备断开连接管理中确认各设备状态

常见问题

Q. 看不到消息搜索(关键字)输入框。 A. 视运行环境配置,消息正文搜索可能被禁用(display:none)。如需启用,请联系系统管理员。

Q. 诊断数据的保留周期是多久? A. 默认 7 天。如需长期保存,可通过 全量导出 将 CSV 导入外部系统,或使用流程的诊断触发器(flow_on_diagnostic)自动写入外部日志系统。

Q. ERROR 累积非常多,但都是同一条消息。可以忽略吗? A. 若相同 ERROR 在短时间内反复出现,说明是同一个原因的风暴,计数本身意义不大。请先关注首次发生时刻和消息本身。

Q. 刷新按钮可以改成自动刷新吗? A. 该界面仅支持显式刷新。若运行监控需要自动更新,请以较短间隔点击刷新,或通过流程的通知自动化,在发生 ERROR 时接收推送。

Q. 时间轴的标记颜色太密集了。 A. 将 条数 下拉框调小(100~200 条),或将 级别 收窄为 ERROR/WARN,可提升可读性。

Q. 同一时刻所有模块都发出了 ERROR。 A. 很可能是公共基础设施(消息通道·存储)故障。请一并确认仪表板健康栏中的基础设施/引擎状态。

Q. CSV 下载耗时很久。 A. 很可能是搜索条件过于宽泛。请将时间段缩短到 24 小时以内,或限定模块。


相关界面

  • 仪表板 — 在右侧健康栏预览最近诊断
  • 日统计 — 系统诊断趋势与异常类型/代码分布
  • 报警 — 域报警历史
  • 连接管理 — 边缘/OPC 设备状态
  • 流程 — 通过 flow_on_diagnostic 触发器自动路由诊断