Files
daily-opencode-workspace/.opencode/skills/log-analyzer/SKILL.md

3.7 KiB
Raw Blame History

name, description
name description
log-analyzer 全维度日志分析技能。自动识别日志类型Java应用/MySQL Binlog/Nginx/Trace/告警提取关键实体IP、thread_id、trace_id、用户、表名等进行根因定位、告警分析、异常洞察。支持100M+大文件。触发词:分析日志、日志排查、根因定位、告警分析、异常分析。

日志分析器

基于 RAPHLRecursive Analysis Pattern for Hierarchical Logs的全维度智能日志分析技能。流式处理内存占用低100M+ 日志秒级分析。

核心能力

能力 说明
自动识别 自动识别日志类型Java App / MySQL Binlog / Nginx / Trace / Alert
实体提取 IP、thread_id、trace_id、user_id、session_id、bucket、URL、表名等 20+ 种
操作分析 DELETE/UPDATE/INSERT/DROP 等敏感操作检测
关联分析 时间线、因果链、操作链构建
智能洞察 自动生成分析结论、证据、建议

支持的日志类型

类型 识别特征 提取内容
Java App ERROR/WARN + 堆栈 异常类型、堆栈、logger、时间
MySQL Binlog server id、GTID、Table_map 表操作、thread_id、server_id、数据变更
Nginx Access IP + HTTP 方法 + 状态码 请求IP、URL、状态码、耗时
Trace trace_id、span_id 链路追踪、调用关系、耗时
Alert CRITICAL/告警 告警级别、来源、消息
General 通用 时间、IP、关键词

使用方法

python .opencode/skills/log-analyzer/scripts/preprocess.py <日志文件> -o ./log_analysis

输出文件

文件 内容 用途
summary.md 完整分析报告 优先阅读
entities.md 实体详情IP、用户、表名等 追溯操作来源
operations.md 操作详情 查看具体操作
insights.md 智能洞察 问题定位和建议
analysis.json 结构化数据 程序处理

实体提取清单

网络/连接类

  • IP 地址、IP:Port、URL、MAC 地址

追踪/会话类

  • trace_id、span_id、request_id、session_id、thread_id

用户/权限类

  • user_id、akaccess_key、bucket

数据库类

  • database.table、server_id

性能/状态类

  • duration耗时、http_status、error_code

敏感操作检测

类型 检测模式 风险级别
数据删除 DELETE, DROP, TRUNCATE HIGH
数据修改 UPDATE, ALTER, MODIFY MEDIUM
权限变更 GRANT, REVOKE, chmod HIGH
认证操作 LOGIN, LOGOUT, AUTH MEDIUM

智能洞察类型

类型 说明
security 大批量删除/修改、权限变更
anomaly 高频 IP、异常时间段操作
error 严重异常、错误聚类
audit 操作来源、用户行为

分析流程

Phase 1: 日志类型识别采样前100行
    ↓
Phase 2: 全量扫描提取(流式处理)
    ↓
Phase 3: 关联分析(时间排序、聚合统计)
    ↓
Phase 4: 智能洞察(异常检测、生成结论)
    ↓
Phase 5: 生成报告Markdown + JSON

技术特点

特点 说明
流式处理 逐行读取100M 文件只占几 MB 内存
正则预编译 20+ 种实体模式预编译,匹配快
一次遍历 提取 + 统计 + 分类一次完成
类型适配 不同日志类型用专用解析器

注意事项

  1. Binlog 不记录客户端 IP:只有 server_id 和 thread_id需结合 general_log 确认操作者
  2. 敏感信息脱敏:报告中注意不要暴露密码、密钥
  3. 结合多源日志binlog + 应用日志 + 审计日志 才能完整还原