news 2026/4/16 15:44:11

日志排查技巧:快速定位问题的方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
日志排查技巧:快速定位问题的方法

日志排查技巧:快速定位问题的方法

线上出问题了,第一反应是什么?看日志!

但日志文件动辄几个G,怎么快速找到想要的信息?今天分享几个实用技巧。

实时查看日志

tail -f 实时跟踪:

tail-f /var/log/app/app.log

日志有新内容会实时显示,按Ctrl+C退出。

只看最后N行:

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

从头看:

head-100 app.log# 查看前100行

grep搜索关键词

最常用的命令,搜索包含关键词的行:

grep"ERROR"app.log

常用参数:

# 忽略大小写grep-i"error"app.log# 显示行号grep-n"ERROR"app.log# 显示前后几行(上下文)grep-A5"ERROR"app.log# 后5行grep-B5"ERROR"app.log# 前5行grep-C5"ERROR"app.log# 前后各5行# 统计出现次数grep-c"ERROR"app.log

搜索多个关键词:

# 包含ERROR或WARNgrep-E"ERROR|WARN"app.log# 同时包含两个词grep"ERROR"app.log|grep"用户"

排除某些内容:

# 排除包含DEBUG的行grep-v"DEBUG"app.log

按时间筛选

日志太多,只看某个时间段的:

# 搜索某个时间点grep"2024-01-15 10:30"app.log# 搜索某个小时grep"2024-01-15 10:"app.log

配合awk更精确:

# 提取10:00到11:00的日志awk'/2024-01-15 10:/,/2024-01-15 11:/'app.log

less分页查看

文件太大,用less一页页看:

lessapp.log

常用操作:

  • 空格:下一页
  • b:上一页
  • /关键词:向下搜索
  • ?关键词:向上搜索
  • n:下一个匹配
  • N:上一个匹配
  • g:跳到开头
  • G:跳到结尾
  • q:退出

日志分析技巧

统计ERROR出现次数:

grep-c"ERROR"app.log

按错误类型分组统计:

grep"ERROR"app.log|awk'{print$NF}'|sort|uniq-c|sort-rn

找出请求最多的接口:

grep"GET\|POST"access.log|awk'{print$7}'|sort|uniq-c|sort-rn|head-10

找出最慢的请求:

# 假设日志格式包含耗时grep"耗时"app.log|sort-t'='-k2 -rn|head-10

多文件搜索

日志按日期分割,需要搜索多个文件:

# 搜索所有日志文件grep"ERROR"/var/log/app/*.log# 递归搜索目录grep-r"ERROR"/var/log/app/

实时监控+过滤

# 实时看ERROR日志tail-f app.log|grep"ERROR"# 实时看多个关键词tail-f app.log|grep-E"ERROR|Exception"# 实时监控多个文件tail-f app.log error.log

压缩日志处理

日志压缩了也能直接搜索:

# 搜索gz压缩文件zgrep"ERROR"app.log.gz# 查看gz文件内容zcat app.log.gz|less

实战案例

案例:找到某个用户的报错

# 第一步:找到用户ID相关的错误grep"ERROR"app.log|grep"用户ID:12345"# 第二步:看上下文grep-C10"用户ID:12345.*ERROR"app.log# 第三步:看这个时间段的完整日志grep"2024-01-15 10:3"app.log|less

案例:统计今天的错误类型

grep"$(date+%Y-%m-%d)"app.log|grep"ERROR"|\awk-F'ERROR''{print$2}'|\cut-d':'-f1|\sort|uniq-c|sort-rn

远程查看日志

服务器在远程,每次SSH上去看日志比较麻烦。

我的做法是用星空组网把电脑和服务器连起来,然后直接tail远程日志:

sshroot@10.26.1.5"tail -f /var/log/app/app.log"|grepERROR

或者用scp把日志拉到本地分析:

scproot@10.26.1.5:/var/log/app/app.log ./

不用跳板机中转,延迟低很多。

常用命令速查

场景命令
实时查看tail -f log
搜索关键词grep "keyword" log
搜索+上下文grep -C 5 "keyword" log
分页查看less log
统计次数grep -c "keyword" log
排除某些行grep -v "DEBUG" log
搜索压缩文件zgrep "keyword" log.gz

小结

日志排查核心技能:

  1. tail -f实时看
  2. grep搜索过滤
  3. less分页浏览
  4. 结合awk、sort做统计

多练几次就熟了,这些命令用得越熟,排查问题越快。

有问题评论区交流~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:22:01

Ludwig分布式训练优化:从单机到集群的性能提升指南

还在为模型训练时间过长而苦恼吗?当你的数据集从GB级增长到TB级,单机训练已经无法满足需求时,分布式训练就成了必然选择。但在实际应用中,90%的工程师都会遇到节点同步慢、资源利用率低的问题。今天我们就来聊聊Ludwig框架中分布式…

作者头像 李华
网站建设 2026/4/16 9:22:02

Vue Router完全指南:从入门到实战,掌握前端路由核心用法

一、前言:为什么需要 Vue Router? 在传统多页面应用中,页面跳转依赖后端路由(通过 URL 请求不同 HTML 文件),存在页面刷新、加载缓慢、用户体验差等问题。而 Vue 作为单页面应用(SPA&#xff0…

作者头像 李华
网站建设 2026/4/15 10:28:20

智能远程管理工具:一键掌控分布式Windows环境

智能远程管理工具:一键掌控分布式Windows环境 【免费下载链接】Quasar Remote Administration Tool for Windows 项目地址: https://gitcode.com/gh_mirrors/qua/Quasar 在当今数字化工作环境中,如何高效管理分布在不同地点的Windows系统成为IT管…

作者头像 李华
网站建设 2026/4/16 9:21:33

在数字中国建设大潮中,市场化技术转移机构如何借助自学习的数字化升级路线图解决平台建而不用、用而不活,同时纾解客户留存率,最终纾解完善价值评估体系?

观点作者:科易网AI技术转移研究院在数字中国建设的大背景下,高校科技成果转化正经历着深刻的变革。市场化技术转移机构作为连接高校与产业的重要桥梁,其数字化升级对于解决平台建而不用、用而不活的问题,提升客户留存率&#xff0…

作者头像 李华
网站建设 2026/4/16 9:20:34

HoRain云--WindowsBAT获取桌面路径技巧

🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…

作者头像 李华
网站建设 2026/4/16 15:24:43

python结合人脸识别和实名认证的校园论坛系统 校园活动报名系统_1ke2e979_pycharm Vue django flask项目源码

目录已开发项目效果实现截图关于我系统介绍开发技术路线核心代码参考示例本项目开发思路结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 python校园活动报名系统_1课额朋友查人吗Vue…

作者头像 李华