🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install supercent-io/skills-template/log-analysis
💡 提示:需要 Node.js 和 NPM
日志分析
何时使用此技能
- 错误调试:分析应用程序错误的根本原因
- 性能分析:分析响应时间和吞吐量
- 安全审计:检测异常访问模式
- 事件响应:在服务中断期间调查根本原因
指示
步骤 1:定位日志文件
# 常见日志位置
/var/log/ # 系统日志
/var/log/nginx/ # Nginx 日志
/var/log/apache2/ # Apache 日志
./logs/ # 应用程序日志
步骤 2:搜索错误模式
常见错误搜索:
# 搜索 ERROR 级别日志
grep -i "error\|exception\|fail" application.log
# 最近错误(最后 100 行)
tail -100 application.log | grep -i error
# 带时间戳的错误
grep -E "^\[.*ERROR" application.log
HTTP 错误码:
# 5xx 服务器错误
grep -E "HTTP/[0-9.]+ 5[0-9]{2}" access.log
# 4xx 客户端错误
grep -E "HTTP/[0-9.]+ 4[0-9]{2}" access.log
# 特定错误码
grep "HTTP/1.1\" 500" access.log
步骤 3:模式分析
基于时间的分析:
# 按时间窗口统计错误数量
grep -i error application.log | cut -d' ' -f1,2 | sort | uniq -c | sort -rn
# 特定时间窗口的日志
grep "2025-01-05 14:" application.log
基于 IP 的分析:
# 按 IP 统计请求数
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20
# 特定 IP 的活动
grep "192.168.1.100" access.log
步骤 4:性能分析
响应时间分析:
# 从 Nginx 日志中提取响应时间
awk '{print $NF}' access.log | sort -n | tail -20
# 慢请求(>= 1 秒)
awk '$NF > 1.0 {print $0}' access.log
流量量分析:
# 每分钟请求数
awk '{print $4}' access.log | cut -d: -f1,2,3 | uniq -c
# 按端点统计请求数
awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -20
步骤 5:安全分析
可疑模式:
# SQL 注入尝试
grep -iE "(union|select|insert|update|delete|drop).*--" access.log
# XSS 尝试
grep -iE "<script|javascript:|onerror=" access.log
# 目录遍历
grep -E "\.\./" access.log
# 暴力破解攻击
grep -E "POST.*/login" access.log | awk '{print $1}' | sort | uniq -c | sort -rn
输出格式
分析报告结构
# 日志分析报告
## 摘要
- 分析窗口:YYYY-MM-DD HH:MM ~ YYYY-MM-DD HH:MM
- 总日志行数:X,XXX
- 错误计数:XXX
- 警告计数:XXX
## 错误分析
| 错误类型 | 出现次数 | 最后出现时间 |
|----------|-----------|----------|
| 错误 A | 150 | 2025-01-05 14:30 |
| 错误 B | 45 | 2025-01-05 14:25 |
## 建议措施
1. [措施 1]
2. [措施 2]
最佳实践
- 设置时间范围:明确定义要分析的时间窗口
- 保存模式:将常用的 grep 模式写成脚本
- 检查上下文:也要查看错误周围的日志(
-A、-B选项) - 日志轮转:同时使用 zgrep 搜索压缩日志
约束条件
必需规则(必须遵守)
- 仅执行只读操作
- 屏蔽敏感信息(密码、令牌)
禁止事项(不得违反)
- 不要修改日志文件
- 不要向外部暴露敏感信息
参考资料
示例
示例 1:基本用法
示例 2:高级用法
📄 原始文档
完整文档(英文):
https://skills.sh/supercent-io/skills-template/log-analysis
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)