关于 log-analyzer
用于分析应用、数据库、Web 访问、追踪、告警和通用日志的 Python 技能。它以流式方式处理文件以控制内存占用,并生成包含实体、操作和发现的报告。
主要功能
- 01自动识别多种常见日志格式
- 02提取 20 多种实体类型
- 03检测敏感数据库和权限操作
- 04将事件关联为时间线和操作链
- 05生成 Markdown 报告及结构化 JSON
适用场景
- 01追查数据库变更的来源
- 02调查成组错误和异常活动
- 03检查访问日志中的请求模式
- 04从大型日志文件生成结构化发现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zrt-ai-lab/ opencode-skills --skill log-analyzer安装后在 Claude Code 中输入/log-analyzer确认已加载。
附带文件README.mdscripts/preprocess.py
详细介绍
来自项目 README日志分析器
基于 RAPHL(Recursive 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、ak(access_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+ 种实体模式预编译,匹配快 |
| 一次遍历 | 提取 + 统计 + 分类一次完成 |
| 类型适配 | 不同日志类型用专用解析器 |
注意事项
- Binlog 不记录客户端 IP:只有 server_id 和 thread_id,需结合 general_log 确认操作者
- 敏感信息脱敏:报告中注意不要暴露密码、密钥
- 结合多源日志:binlog + 应用日志 + 审计日志 才能完整还原
评论
支持 Markdown