泛微E10性能日志分析
将以下提示词粘贴到你的 AI 对话框中:
请根据官方指南 https://skillhub.cn/install/skillhub.md 的说明,在 AI 助手中安装技能 @user_f6995a55/e10-perf-log-analysis。
技能介绍
泛微 E10 性能排查的痛点
泛微 E10 导出的 downLog.zip 诊断包结构复杂,混合了操作系统级采样、E10 应用级指标、中间件异常日志以及 JVM 线程 dump。由于不同服务器的导出习惯不同,压缩包形态各异——可能包含全套数据,也可能仅有异常日志或单一指标文件。人工交叉比对这些异构数据不仅耗时,还容易在海量 TSV 指标和滚动日志中遗漏关键瓶颈线索。
核心分析工作流
本技能通过 run.py 提供统一入口,自动适配多种输入形态(.zip 压缩包、已解压目录、单个 .log 或 .log.gz 文件)。
- 结构探测与分类:自动解压并识别目录树,探测日期与 E10 组件。无论包内包含
system/、applog/还是middleware/,都能准确归类并决定生成全套报告还是降级为异常专项报告。 - 多维指标解析:运行
scripts/parse_metrics.py清洗并计算 CPU、JVM 内存(O/M/E)、数据库连接池(ACTIVE对比INITIALSIZE)、并发及 IO 的统计值(含 p95 与小时级聚合)。 - 异常与线程诊断:提取
sys-err.log中的顶层异常(如ClientAbortException)并按时间统计;解析线程 dump 的 State 分布,识别线程池超配等隐性问题。 - 关联报告生成:将 CPU 飙升、连接池耗尽、异常峰值等信号交叉关联,最终输出暗色主题的 HTML 报告。报告内联了 Chart.js,无需外网即可离线渲染图表。
适用边界与注意事项
技能对输入有严格的嗅探与校验机制。若输入非 E10 日志(如 Nginx 日志),会明确拒绝而非产出空报告。
在单文件模式下,命名约定至关重要:指标文件必须带下划线前缀(如 cpu_20260811.log,而非 cpu.log),线程 dump 文件名需包含 thread 字样。日期可从文件名、内容首段时间戳或文件修改时间中自动推断。此外,所有指标日志均为 TSV 格式,部分列带有 % 后缀或 null 值,脚本内置了清洗函数以确保解析健壮性。
使用场景
- 收到服务器导出的 downLog.zip,需要生成 E10 性能报告,定位 CPU 或内存瓶颈。
- 仅有单个 sys-err.log 或 cpu_*.log,需要快速识别异常类型并分析核心指标。
- 线程 dump 中 WAITING 占比高,需要确认是否线程池超配以及有无锁竞争。
- 怀疑客户端断开导致报错,需要将 ClientAbortException 与 CPU 峰值关联分析。
适合人员
- 泛微 E10 实施顾问,需要在客户现场快速定位服务端性能瓶颈并出具报告。
- 企业内部 OA 运维工程师,负责定期收集诊断包并评估 E10 系统健康度。
- Java 后端开发人员,需要分析 E10 应用的 JVM 线程状态与中间件异常日志。