🚀 快速安装

复制以下命令并运行,立即安装此 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]

最佳实践

  1. 设置时间范围:明确定义要分析的时间窗口
  2. 保存模式:将常用的 grep 模式写成脚本
  3. 检查上下文:也要查看错误周围的日志(-A-B 选项)
  4. 日志轮转:同时使用 zgrep 搜索压缩日志

约束条件

必需规则(必须遵守)

  1. 仅执行只读操作
  2. 屏蔽敏感信息(密码、令牌)

禁止事项(不得违反)

  1. 不要修改日志文件
  2. 不要向外部暴露敏感信息

参考资料

示例

示例 1:基本用法

示例 2:高级用法

📄 原始文档

完整文档(英文):

https://skills.sh/supercent-io/skills-template/log-analysis

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。