服务崩了但日志有10个G,怎么快速找到关键信息

news/2025/12/9 14:09:50/文章来源:https://www.cnblogs.com/xhzhang/p/19326365

凌晨收到告警,服务挂了。登上服务器一看,日志文件10个G,怎么快速定位问题?

日志分析的正确姿势

很多人看日志就是cat xxx.log | grep error,日志小还行,日志大了直接卡死。下面这些技巧能帮你快速定位问题。

一、系统日志分析(journalctl)

现在大多数Linux发行版都用systemd管理服务,日志统一由journald收集。

基础用法

# 查看所有日志
journalctl# 查看最近的日志(最常用)
journalctl -e# 实时跟踪日志
journalctl -f# 查看指定服务的日志
journalctl -u nginx
journalctl -u mysql# 查看最近10分钟的日志
journalctl --since "10 minutes ago"# 查看今天的日志
journalctl --since today# 查看指定时间段
journalctl --since "2024-01-01 10:00:00" --until "2024-01-01 12:00:00"

按优先级过滤

# 只看错误级别以上
journalctl -p err# 优先级:
# emerg(0) - 系统不可用
# alert(1) - 必须立即处理
# crit(2) - 严重错误
# err(3) - 错误
# warning(4) - 警告
# notice(5) - 正常但重要
# info(6) - 信息
# debug(7) - 调试# 看err和以上级别(crit, alert, emerg)
journalctl -p err..emerg

按进程/用户过滤

# 按PID
journalctl _PID=12345# 按用户
journalctl _UID=1000# 按程序名
journalctl _COMM=java

输出格式

# JSON格式(方便脚本处理)
journalctl -o json# 紧凑JSON(一行一条)
journalctl -o json-pretty# 短格式(默认)
journalctl -o short# 显示完整时间戳
journalctl -o short-iso

二、应用日志分析技巧

1. 快速定位错误

# grep -n 显示行号
grep -n "ERROR" app.log# 显示错误及后10行(看堆栈)
grep -A 10 "Exception" app.log# 显示错误及前后各5行(看上下文)
grep -C 5 "ERROR" app.log# 统计错误次数
grep -c "ERROR" app.log

2. 按时间范围提取

日志格式通常是2024-01-01 10:00:00这样的,可以用sed提取:

# 提取10:00到11:00的日志
sed -n '/2024-01-01 10:00/,/2024-01-01 11:00/p' app.log# 更精确的方式:用awk
awk '/2024-01-01 10:00/,/2024-01-01 11:00/' app.log

3. 统计分析

# 统计每小时错误数量
grep "ERROR" app.log | awk '{print $2}' | cut -d: -f1 | sort | uniq -c# 统计最频繁的错误类型
grep "Exception" app.log | sort | uniq -c | sort -rn | head -20# 统计请求响应时间分布
grep "cost=" app.log | awk -F'cost=' '{print $2}' | cut -d' ' -f1 | \awk '{if($1<100) a++;else if($1<500) b++;else if($1<1000) c++;else d++} END {print "<100ms:", a;print "100-500ms:", b;print "500-1000ms:", c;print ">1000ms:", d}'

4. 大文件处理技巧

# 只看最后1000行
tail -n 1000 app.log# 只看最后5分钟(假设日志在持续写入)
tail -f app.log  # 实时跟踪# 用less替代cat(可以搜索和翻页)
less app.log
# 在less中:
# /ERROR  搜索ERROR
# n       下一个匹配
# N       上一个匹配
# G       跳到文件末尾
# g       跳到文件开头# 并行处理大文件
zgrep "ERROR" app.log.*.gz  # 同时搜索多个压缩文件

三、日志轮转配置(logrotate)

日志不轮转,磁盘迟早爆。

配置文件位置

/etc/logrotate.conf         # 主配置
/etc/logrotate.d/           # 各应用配置目录

实用配置示例

# /etc/logrotate.d/myapp
/var/log/myapp/*.log {daily                   # 每天轮转rotate 30               # 保留30份compress                # 压缩旧日志delaycompress           # 延迟一次压缩(方便查看昨天的日志)missingok               # 日志不存在也不报错notifempty              # 空文件不轮转create 644 appuser appgroup  # 新日志文件权限dateext                 # 用日期作为后缀dateformat -%Y%m%d      # 日期格式postrotate              # 轮转后执行的命令/bin/kill -USR1 $(cat /var/run/myapp.pid 2>/dev/null) 2>/dev/null || trueendscript
}

手动测试轮转

# 测试(不实际执行)
logrotate -d /etc/logrotate.d/myapp# 强制执行一次
logrotate -f /etc/logrotate.d/myapp

四、实时日志监控

多文件同时监控

# 同时看多个日志
tail -f /var/log/app1.log /var/log/app2.log# 用multitail(更强大)
# 安装:yum install multitail
multitail /var/log/app1.log /var/log/app2.log

带颜色高亮

# 安装ccze
# yum install ccze# 带颜色查看日志
tail -f app.log | ccze -A# 或者用grep高亮
tail -f app.log | grep --color=always -E "ERROR|WARNING|"

五、日志集中管理方案

单机日志好处理,机器多了就得集中管理。

方案一:rsyslog转发

# 客户端 /etc/rsyslog.conf
*.* @日志服务器IP:514        # UDP
*.* @@日志服务器IP:514       # TCP# 服务端 /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514

方案二:Filebeat + ELK

更现代的方案,适合大规模日志收集。

# filebeat.yml
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/myapp/*.logfields:app: myappenv: prodoutput.elasticsearch:hosts: ["elasticsearch:9200"]

六、实战:一次OOM问题的日志排查

问题现象

应用偶发性重启,怀疑OOM。

排查步骤

Step 1:查系统日志

# 查看最近的OOM记录
journalctl -k | grep -i "oom\|kill"# 或者
dmesg | grep -i "oom\|kill"# 输出:
# Jan 01 03:45:23 server kernel: Out of memory: Killed process 12345 (java)

确认是OOM。

Step 2:看是谁触发的

journalctl -k --since "2024-01-01 03:40:00" --until "2024-01-01 03:50:00"# 关键信息:
# memory cgroup out of memory
# oom_score_adj: 0
# Memory cgroup stats...

Step 3:分析应用日志

# 找到OOM前的应用日志
tail -n 10000 app.log | less# 搜索内存相关
grep -E "memory|heap|OutOfMemory" app.log

Step 4:结论

根据日志分析,发现OOM前有大量数据查询请求,导致堆内存暴涨。

远程日志查看

如果管理多台服务器,每次都要SSH上去看日志很麻烦。我现在用星空组网把几台服务器组在一起,本地可以直接用rsync同步日志下来分析,也可以配置集中日志收集,方便很多。

常用命令速查

# 系统日志
journalctl -u nginx -f                    # 实时看nginx日志
journalctl -p err --since "1 hour ago"    # 最近1小时的错误# 应用日志
tail -f app.log | grep --color ERROR      # 实时看错误
grep -A 20 "Exception" app.log            # 看异常堆栈
awk '/10:00/,/11:00/' app.log            # 提取时间段# 日志统计
grep -c "ERROR" app.log                   # 错误计数
sort | uniq -c | sort -rn                 # 统计排序# 大文件
less +G app.log                           # 直接跳到文件末尾
zgrep "ERROR" app.log.gz                  # 搜索压缩文件

总结

场景 推荐工具 命令示例
系统/服务日志 journalctl journalctl -u nginx -p err
实时跟踪 tail -f tail -f app.log | grep ERROR
大文件浏览 less less +G app.log
时间段提取 awk/sed awk '/10:00/,/11:00/' log
统计分析 awk+sort awk '{print $1}' | sort | uniq -c
压缩文件 zgrep zgrep "ERROR" *.gz

排查思路:先定位时间范围,再按关键字过滤,最后看上下文。别一上来就全量搜索,日志大了会很慢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/994856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细介绍:zerotier内网穿透部署(rockylinux部署本地服务器)超详细~~~

详细介绍:zerotier内网穿透部署(rockylinux部署本地服务器)超详细~~~pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &q…

2025年12月零甲醛不锈钢橱柜定制选什么?五款优质品牌推荐指南

导语2025年12月定制零甲醛不锈钢橱柜,核心诉求聚焦“零甲醛健康”与“定制适配性”,而全钢材质恰好完美契合——不仅从源头杜绝甲醛释放,还具备耐用抗造、油污易清洁的特性,成为追求健康厨房家庭的主流选择。2025年…

淡斑最好的护肤品排名第一,露卡菲娅祛斑套装,改写祛斑美白新历史!

在快节奏、高压力的现代生活中,色斑问题早已不再是中年女性的“专利”,越来越多25岁以上的轻熟肌人群也开始为脸上的黄褐斑、晒斑、雀斑等问题烦恼不已。面对市面上琳琅满目的祛斑产品,如何选择一款真正安全、有效、…

2025程序员躺赢密码:AI辅助编程神器大盘点,代码量狂飙3倍的秘密藏这了

​ 2025年,AI编程工具早已从“代码补全助手”进化为“全流程开发伙伴”。它们不仅能让开发者从重复劳动中解放,更能通过自然语言交互、全链路自动化等能力,将代码产出效率提升数倍。本文盘点5款国际主流AI编程神器,…

2025年佛山离婚纠纷口碑律所TOP5推荐,有名且信誉好的离

在婚姻家庭矛盾日益复杂的当下,一场体面、高效的离婚纠纷解决,离不开专业律所与律师的支撑。面对佛山市场上众多法律服务机构,如何找到离婚纠纷口碑律所、有名的离婚纠纷律师与信誉好的离婚纠纷律师?以下结合专业能…

2025年湖南GEO推广-搜索词服务五大靠谱公司推荐,看哪家

在AI技术重塑流量格局的当下,GEO优化服务已成为企业抢占AI平台流量入口的核心抓手。面对市场上良莠不齐的GEO服务提供商,如何选择专业靠谱的合作伙伴?以下结合性价比与企业实力,为你推荐2025年湖南地区十大优质GEO…

2025年高速无刷电机生产厂家权威推荐榜单:微型直流电机/吸尘器无刷电机/家用电器电机实力厂家精选

在智能家居、工业自动化及机器人技术高速发展的当下,高速无刷电机(BLDC)已成为驱动现代设备高效、静音、精准运行的核心“心脏”。其性能直接决定了终端产品的能效水平、动态响应、使用寿命及用户体验。行业数据显示…

Markdown中可用的HTML警告文本块代码

以下是几种不同风格和类型的警告文本块HTML代码,都可以在Markdown中直接使用: 1. 基础警告框(黄底黑字) <div style="background: #fff3cd; border-left: 4px solid #ffc107; color: #856404; padding: 12…

2025年度砂光辊服务商厂家排名:砂光辊优质厂家与批量定制企

在家具制造、木材加工、金属表面处理等行业中,砂光辊作为核心加工部件,直接影响产品表面精度与生产效率。面对市场上良莠不齐的砂光辊供应商,企业如何精准选择适配自身工艺的优质厂家?以下结合技术实力、定制能力、…

能美白的护肤品有哪些?2025功效实测榜揭晓亮白实力拔尖的八款美白精华

随着护肤认知的深度觉醒,越来越多人已然通透:优质的美白护理从不是 “单点攻坚”,而是要实现 “美白提亮 + 靶向祛斑 + 痘印调理 + 抗衰紧致 + 温和修护” 的多维协同发力。 尤其踏入秋冬季节,肌肤屏障脆如薄冰、代…

专业闸机租赁源头厂家:稳定供应与可靠保障

在当今快节奏的商业活动与大型展会中,高效、安全的人员通行管理已成为活动成功的关键一环。对于众多主办方而言,采购一套完整的门禁闸机系统不仅意味着高昂的初期投入,还需承担后期维护、存放与设备折旧等一系列隐性…

2025年风量测试试验台制造厂权威推荐榜单:风量测试设备‌/小型风洞实验设备‌/风压测量装置源头制造厂精选

在航空航天、汽车制造、暖通空调及新能源等高端制造业领域,风量测试试验台是进行产品空气动力学性能验证、热管理与能效优化的核心科研与质检装备。数据显示,全球热工流体测试设备市场年复合增长率稳定在8.3%,而中国…

【PostgreSQL 17】12 DML语句

插入数据 指定字段 INSERT INTO dept(department_id, department_name) VALUES(10, Administration);为所有字段顺序指定值 可省略字段名 INSERT INTO dept VALUES(20, Design);多行 VALUES之后逗号分隔 INSERT INTO d…

寻找兼顾创意、效率与稳定性的花灯厂商必看

东莞华亦彩景观工艺有限公司:花灯工程服务商可靠性深度评测 ——基于设计能力、工程交付与售后维护三大核心维度 评测对象概述 东莞华亦彩景观工艺有限公司(以下简称“华亦彩”)成立于2002年,总部位于广东省东莞市…

windows下docker desktop中镜像删除后磁盘空间未释放问题解决

彻底关闭 WSL2 虚拟机 wsl --shutdown新开一个powershell窗口并输入 Diskpart diskpart指定虚拟机磁盘镜像文件位置 引号内为docker的vhdx虚拟磁盘位置 select vdisk file="D:\dockerResources\DockerDesktopWSL\…

实测口碑花灯厂,耐用度数据:高价≠高质,避坑指南出炉

在节庆装饰、文旅亮化及商业美陈领域,彩灯产品的耐用度直接决定了场景的呈现效果与客户的长期投入成本。市场上品牌众多,价格区间跨度大,不少采购方存在“高价等于高质”的认知误区。为提供客观参考,本次评测聚焦花…

2025年评价高的多功能离子风机测试仪高评价厂家推荐榜

2025年评价高的多功能离子风机测试仪高评价厂家推荐榜 开篇:行业背景与市场趋势 随着工业4.0的深入推进,半导体、光电、PCBA制造等行业对静电防护的要求日益严格。离子风机作为静电消除的核心设备,其性能直接影响…

Quartz定时任务持久化(服务重启后自动恢复)

Quartz 定时任务持久化(重启后自动恢复) 声明: 本文内容由 ChatGPT 协助生成,仅作为个人学习与记录之用。 Quartz 默认使用 RAMJobStore(内存存储),服务重启后任务会丢失。 要让定时任务在重启后仍然有效,必须…

[免费]基于Python的深度学习豆瓣电影数据可视化+情感分析推荐环境(Flask+Vue+LSTM+scrapy)【论文+源码+SQL脚本】

[免费]基于Python的深度学习豆瓣电影数据可视化+情感分析推荐环境(Flask+Vue+LSTM+scrapy)【论文+源码+SQL脚本】2025-12-09 13:58 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word…

2025年12月高端托福封闭班机构深度评测:无老师国际领跑行业

2025年12月高端托福封闭班机构深度评测:无老师国际领跑行业随着留学热潮持续升温,托福考试作为全球认可度最高的英语能力测试之一,其备考需求也呈现爆发式增长。在众多托福培训机构中,封闭式集训班因其高强度、高效…