Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:24:37 +08:00
commit 8cd5c7679d
61 changed files with 6788 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
tool_id: BASH-ANALYZE-LOGS-002
tool_name: "日志分析器"
基本信息:
语言: bash
文件: analyze-logs.sh
复杂度: level-2
创建日期: 2025-11-14
作者: CodeConscious
用途分类:
- DATA # 数据分析
- MONITOR # 监控诊断
功能描述:
简介: "分析日志文件,按级别过滤、时间范围筛选、模式匹配和错误统计"
详细: |
支持功能:
- 按日志级别统计ERROR/WARN/INFO/DEBUG
- 按关键词模式搜索(正则表达式)
- 错误模式识别(超时、连接错误、内存问题)
- 统计汇总和建议生成
- 支持时间范围筛选(需要日志包含日期)
使用场景:
- "分析生产环境错误日志,找到崩溃原因"
- "统计API接口错误频率和类型分布"
- "监控服务健康状况,识别异常模式"
- "排查性能问题,定位慢请求和超时"
- "验证修复效果,比较修复前后的日志"
使用方法:
命令: "bash analyze-logs.sh <日志文件> [模式] [级别] [日期范围]"
参数:
日志文件: "日志文件路径(必需)"
模式: "要搜索的正则表达式(可选)"
级别: "日志级别: ERROR/WARN/INFO/DEBUG默认: INFO"
日期范围: "日期范围, 如: 2025-11-01~2025-11-14可选需要日志包含日期"
示例:
- "分析应用日志: bash analyze-logs.sh /var/log/app.log"
- "搜索错误: bash analyze-logs.sh /var/log/app.log 'timeout|error' ERROR"
- "按时间筛选: bash analyze-logs.sh /var/log/app.log 'database' WARN 2025-11-01~2025-11-07"
依赖要求:
系统命令:
- bash: 支持bash 4.0+
- awk: 文本处理
- grep: 模式匹配
- wc: 计数
- du: 文件大小
输入输出:
输入:
- 类型: 文本文件
- 格式: 任意日志格式(支持自定义分析)
- 示例: |
2025-11-14 10:30:00 [INFO] User login successful
2025-11-14 10:30:01 [ERROR] Database connection timeout
2025-11-14 10:30:02 [WARN] High memory usage: 85%
输出:
- stdout: 统计摘要、错误分析、建议
- 格式: 人类可读文本 + 颜色高亮
上次使用:
时间: 2025-11-14 11:00:00
用途: "分析auth-service崩溃日志找到连接池配置问题"
结果: "成功识别47次超时错误12次连接数过多错误定位到连接池不足问题"
满意度: 0.95
相关工具:
- 前置工具:
- 互补工具:
- toolkit/bash/system/check-service.sh服务健康检查
- toolkit/python/analysis/analyze_logs.py复杂日志解析
- 替代工具:
- grep + wc手动统计
维护记录:
2025-11-14:
- 初始创建
- 支持级别统计、模式匹配、错误模式识别
2025-11-15:
- 添加时间范围筛选功能(实验性)
- 优化颜色输出
TODO:
- 支持JSON日志格式解析
- 添加图表可视化ASCII
- 支持日志文件压缩格式(.gz