温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用CLI做日志分析

发布时间:2026-09-02 10:45:06 来源:亿速云 阅读:92 作者:小樊 栏目:系统运维

用命令行(CLI)做日志分析,核心思路是:抓取 → 过滤 → 聚合 → 统计 → 可视化(可选)。下面按“常用工具 + 实战示例”给你一个可落地的指南。


一、最基础的 CLI 日志分析工具

1. cat / less / tail / head

查看日志的第一步。

# 实时看日志
tail -f app.log

# 看最后 100 行
tail -n 100 app.log

# 看最前面 50 行
head -n 50 app.log

2. grep:过滤关键信息

日志分析的灵魂工具。

# 查错误
grep "ERROR" app.log

# 忽略大小写
grep -i "error" app.log

# 显示行号
grep -n "timeout" app.log

# 统计出现次数
grep -c "ERROR" app.log

# 多关键词
grep -E "ERROR|WARN" app.log

3. awk:字段提取 & 统计

适合结构化日志(如空格 / 分隔符分隔)。

# 打印第1列和第4列
awk '{print $1, $4}' app.log

# 统计某列出现次数
awk '{print $1}' app.log | sort | uniq -c | sort -nr

# 统计 ERROR 出现时间分布
grep "ERROR" app.log | awk '{print $1}' | sort | uniq -c

4. sort + uniq:聚合统计

经典组合。

# 统计 IP 访问次数
awk '{print $1}' access.log | sort | uniq -c | sort -nr

# Top 10
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head

5. sed:替换 / 提取

适合格式化或清洗。

# 去掉时间戳只看内容
sed 's/^\[.*\] //' app.log

# 提取某个区间
sed -n '/2024-01-01 10:00/,/2024-01-01 11:00/p' app.log

二、实战案例

案例 1:Web 访问日志分析(Nginx)

192.168.1.1 - - [01/Jan/2024:10:00:01] "GET /api/user HTTP/1.1" 200 1234
# Top IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head

# 统计状态码
awk '{print $9}' access.log | sort | uniq -c

# 找出 500 错误
grep " 500 " access.log

案例 2:应用错误日志

2024-01-01 10:00 ERROR db timeout
# 按小时统计错误
grep "ERROR" app.log | awk '{print substr($1,1,13)}' | uniq -c

案例 3:实时错误监控

tail -f app.log | grep --line-buffered "ERROR"

三、进阶工具(强烈推荐)

1. jq(JSON 日志)

cat app.json | jq '.level'

2. cut / column

cut -d',' -f1,3 log.csv
column -t app.log

3. wc

wc -l app.log

四、流水线思维(核心)

CLI 日志分析的精髓是管道组合

cat app.log \
| grep "ERROR" \
| awk '{print $1}' \
| sort \
| uniq -c \
| sort -nr \
| head

五、如果日志很大

  • grepcat
  • zcat 分析压缩日志
  • split 切分大文件
zcat app.log.gz | grep "ERROR"

如果你愿意,可以:

  • 给我你的日志格式
  • 或说你是服务器 / 容器 / 应用日志
  • 或想做告警 / 可视化 / 定时脚本

我可以直接帮你写一套可用的 CLI 分析命令。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI