当前位置: 首页 > article >正文

Linux日志高效搜索:从基础grep到journalctl实战技巧

1. Linux日志搜索运维工程师的必备技能每次服务器出现异常第一反应是什么没错就是查日志。作为在Linux系统摸爬滚打多年的老运维我见过太多新手面对海量日志时的手足无措。其实日志排查就像破案关键是要掌握正确的搜查令——那些能快速定位问题的命令工具。日志文件通常存放在/var/log目录下不同服务会产生各自的日志文件。比如nginx的访问日志、系统内核日志、用户认证日志等等。这些日志可能几分钟就增长到几十MB用肉眼逐行查看根本不现实。这时候就需要grep、journalctl这些搜索引擎来帮忙了。记得有次凌晨三点处理线上故障用grep配合正则表达式5分钟就锁定了某个微服务的OOM问题。掌握这些技巧不仅能提升效率关键时刻还能保住你的发际线。下面我就从最基础的grep开始带你系统掌握Linux日志搜索的十八般武艺。2. grep命令日志搜索的瑞士军刀2.1 基础搜索技巧grep是Global Regular Expression Print的缩写可以说是Linux下最常用的文本搜索工具。它的基础用法简单到令人发指# 在syslog中搜索error关键词 grep error /var/log/syslog # 忽略大小写搜索适合不确定大小写的情况 grep -i timeout /var/log/nginx/error.log但只会这些可不够。有一次排查数据库连接问题我需要看错误前后的上下文# 显示匹配行及前后5行内容Aafter, Bbefore grep -A 5 -B 5 connection refused /var/log/mysql/error.log # 或者简写为 grep -C 5 connection refused /var/log/mysql/error.log2.2 高级搜索技巧当基础搜索搞不定时就该祭出grep的高级功能了。比如用正则表达式搜索多种错误类型# 同时搜索error、fail、critical三种错误-E启用正则 grep -E error|fail|critical /var/log/syslog # 反向搜索找出所有非200的HTTP状态码 grep -v 200 /var/log/nginx/access.log统计错误出现的次数也很实用# 统计error出现的次数 grep -c error /var/log/syslog # 提取特定格式的错误码比如error1234 grep -o error[0-9]* /var/log/app.log3. 实时日志监控问题发生时立即捕获3.1 tail命令的妙用很多问题需要实时监控才能捕获这时候tail -f就是神器# 实时监控nginx访问日志中的404错误 tail -f /var/log/nginx/access.log | grep 404 我曾经用这个命令发现过一波爬虫攻击——实时看到大量404请求涌来立即采取了封禁措施。3.2 multitail工具如果需要同时监控多个日志文件可以安装multitail# 同时监控系统日志和nginx错误日志 multitail -e error /var/log/syslog /var/log/nginx/error.log这个工具会把不同日志用不同颜色区分特别适合监控复杂系统。4. 处理压缩日志zgrep大显身手4.1 直接搜索压缩文件日志轮转会产生很多.gz压缩文件解压再搜索太麻烦# 直接搜索.gz压缩文件 zgrep segmentation fault /var/log/syslog.2.gz4.2 批量搜索压缩日志当需要搜索多个压缩文件时# 解压并搜索所有压缩的系统日志 zcat /var/log/syslog.*.gz | grep out of memory这个命令在排查历史内存问题时特别有用。5. journalctlsystemd系统的日志利器5.1 基础查询现在大多数Linux发行版都使用systemd其日志工具journalctl比传统syslog更强大# 基本日志查询-x显示更多信息 journalctl -x | grep fail # 按时间范围查询 journalctl --since 09:00 --until 12:00 | grep timeout5.2 高级过滤技巧journalctl最强大的地方在于它的过滤能力# 按服务单元过滤 journalctl -u docker.service --since 1 hour ago # 按优先级过滤0emerg, 6info journalctl -p err # 实时监控新日志 journalctl -f有一次K8s节点异常我就是用journalctl -u kubelet --since 30 min ago快速发现了证书过期的提示。6. 组合命令发挥命令行最大威力6.1 多条件搜索复杂问题往往需要组合条件# OR条件搜索error或fail grep -e error -e fail /var/log/syslog # AND条件同时包含error和connection grep error /var/log/syslog | grep connection6.2 结果分析与统计搜索结果经常需要进一步处理# 统计各类错误出现频率 grep error /var/log/syslog | cut -d -f5 | sort | uniq -c | sort -nr # 查找今天修改过的日志并搜索 find /var/log -type f -mtime -1 -exec grep -i exception {} 7. 实用技巧与工具推荐7.1 提高效率的小技巧使用less查看日志时按/可以直接搜索对大文件先用head -n 1000查看部分内容创建常用搜索的aliasalias search-errorgrep -C 3 -i error /var/log/syslog7.2 专业日志分析工具对于需要长期分析的场景建议使用logwatch每日日志摘要goaccessWeb访问日志分析ELK Stack企业级日志分析平台记得有次用goaccess分析nginx日志直接可视化展示了最耗时的API接口比手动grep高效多了。日志搜索是门实践性很强的技能建议在自己的测试环境多练习这些命令。遇到问题时先想清楚要搜索什么信息再选择合适的工具组合。随着经验积累你会发展出自己的一套搜索直觉就像老侦探能一眼看出线索一样。

相关文章:

Linux日志高效搜索:从基础grep到journalctl实战技巧

1. Linux日志搜索:运维工程师的必备技能 每次服务器出现异常,第一反应是什么?没错,就是查日志。作为在Linux系统摸爬滚打多年的老运维,我见过太多新手面对海量日志时的手足无措。其实日志排查就像破案,关键…...

关于爬虫源影视资源设置

1.首先目前的omnibox的版本已更新到2.0.3版本,之前的配置会丢失,原本的资源都会无法使用,这里以新版本增加数据源,看完以下教程再下载脚本。 2.添加爬虫源,这里以猫眼资源为主测试: 增加脚本之后,点击保存即可! 复制以下脚本,修复改site_api即可,一般公用的资源都是正…...

【无标题】修改+删除顶层class

# 最顶层的class信息如何删除-- 步骤1:删除该班级学生关联的成绩(先删最底层score表) DELETE FROM score WHERE studentNo IN (SELECT studentNo FROM student0 WHERE classNo210601);-- 步骤2:删除该班级的所有学生(再…...

Java Web 入门学习笔记:Servlet 请求响应与登录功能实战

一、开篇:今日学习核心与目标学习背景:Java Web 入门阶段核心 ——Servlet 与 HTTP 请求响应交互学习目标:掌握 HttpServletRequest/HttpServletResponse 核心用法实现「登录表单提交→Servlet 验证→页面重定向」完整流程解决实操中 404、中…...

AI编程革命:重塑程序员未来(一)

AI编程时代到来AI不会让程序员消失,但会深刻重塑这个职业。当代码生成变得轻而易举,程序员 的角色将从“代码编写者”升级为“问题解决者”与“架构设计师”。未来的核心竞争力,在于 理解复杂业务、设计系统逻辑,并用人类独有的创…...

K均值算法(C++版)

选用K均值算法对一串整形数据(100行,100列)进行聚类。输出两个结果文件:1)第一个输出结果文件为cluster_centers.txt,其中输出聚类得到的各区域(聚类)的中心,以及每个聚类…...

Nginx 高可用、负载均衡与 HTTPS 配置实战(一)

Nginx作为当下最主流的开源反向代理与Web服务器,凭借轻量、高性能、高并发的特性,成为企业级服务入口的首选方案。在生产环境中,单节点Nginx存在单点故障风险,并发请求过高会导致服务卡顿,同时HTTP明文传输存在数据泄露…...

bilibili-api技术解析:如何解决视频标识符转换核心问题

bilibili-api技术解析:如何解决视频标识符转换核心问题 【免费下载链接】bilibili-api 哔哩哔哩常用API调用。支持视频、番剧、用户、频道、音频等功能。原仓库地址:https://github.com/MoyuScript/bilibili-api 项目地址: https://gitcode.com/gh_mir…...

11. v4 版本升级指南

11. v4 版本升级指南 1. 概述 Tailwind CSS v4 是一个重大版本更新,从 JavaScript 配置转向 CSS 优先的配置方式。 1.1 主要变化 变化v3v4配置方式tailwind.config.jsCSS 文件 (theme)安装方式postcss tailwindcsstailwindcss/vite 等暗色模式dark: 前缀相同&a…...

告别硬编码!用Rule-Engine 1.0.0重构你的Java业务逻辑(附订单折扣实战)

告别硬编码!用Rule-Engine 1.0.0重构你的Java业务逻辑(附订单折扣实战) 每次电商大促前夜,技术团队最怕听到的一句话是什么?"折扣规则又改了!"——这往往意味着通宵修改代码、紧急测试和冒着风险…...

脑网络通信指标——扩散策略的流图指标

和平均首达时间一样,这个指标也是脑网络扩散通信方式的一个指标。这个指标的计算公式也是非常云里雾里,不找原文献推公式看不懂的。 首先给公式: 流图矩阵中的一条边:FG(t)ij = (e^(-tL))ijsj 其中sj = ∑jAij,Aij 就是两个节点之间的结构连接强度,sj就是j节点的强度;…...

【黑金云课堂笔记】第一~二期FPGA知识点总结

知识卡片一:【FPGA 基础篇】开启硬件编程之门FPGA 的本质: FPGA(现场可编程门阵列)并非在运行软件程序,而是在构建电路本身。用户可以通过 Verilog/VHDL 等硬件描述语言,在芯片出厂后随时重新配置其内部逻辑…...

实战应用:基于openclaw在快马平台开发招聘信息采集系统

最近在做一个招聘信息分析的小项目,需要从各大招聘网站采集数据。经过一番调研,发现openclaw这个工具在数据采集方面表现相当不错,特别是在处理复杂页面和反爬机制上很有优势。下面分享一下我在InsCode(快马)平台上开发这个系统的实战经验。 …...

新手零基础入门:借助快马AI生成带注释的微信小程序示例代码

作为一个刚接触微信小程序开发的新手,我最近在InsCode(快马)平台上尝试了一个特别适合零基础学习的实践项目。这个平台最让我惊喜的是,只需要用自然语言描述需求,就能快速生成带详细注释的完整代码,这对理解小程序开发流程帮助很大…...

基于深度学习的FasterRCNN水下图像复原

项目概述:Waternet_FasterRCNN 本项目旨在结合深度学习技术进行水下图像的还原与分析,综合应用 WaterNet 和 Faster R-CNN 来完成以下功能: 水下图像还原:利用 WaterNet 修复和增强水下图像质量。色板检测与提取:通过 …...

别再让AI瞎猜了!5个实战案例教你写出让Vibe Coding一次成功的提示词

别再让AI瞎猜了!5个实战案例教你写出让Vibe Coding一次成功的提示词 当你在Vibe Coding平台上输入一串提示词,满心期待地按下生成按钮,结果却得到一个与你想象中完全不同的产物——这种经历相信很多开发者都不陌生。为什么AI总是"误解&q…...

Win11Debloat:让Windows系统重获新生的一站式自动化优化方案

Win11Debloat:让Windows系统重获新生的一站式自动化优化方案 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter …...

腾讯云端Openclaw+飞书 多机器人配置全攻略(新手友好版)

前言:随着AI自动化工具的普及,Openclaw凭借强大的自主执行能力,成为很多人提升效率的首选;而飞书作为高效协同工具,其机器人功能可无缝融入日常工作流。当两者结合,配置多机器人实现分工协作(如…...

Cursor Pro免费激活终极指南:3步永久解锁AI编程神器

Cursor Pro免费激活终极指南:3步永久解锁AI编程神器 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial…...

深度解析ZLUDA:AMD显卡运行CUDA应用的全新解决方案

深度解析ZLUDA:AMD显卡运行CUDA应用的全新解决方案 【免费下载链接】ZLUDA CUDA on AMD GPUs 项目地址: https://gitcode.com/gh_mirrors/zlu/ZLUDA ZLUDA是一个革命性的开源项目,它让AMD显卡能够直接运行未经修改的CUDA应用程序,为AM…...

基础语法篇总结——从入门到精通

基础语法篇总结——从入门到精通 系列专栏:Python 100天从新手到大师 当前进度:Day 01-30 / 100 阅读时长:8 分钟 难度等级:⭐⭐ 一、本篇回顾 基础语法篇共 30 篇文章,涵盖了 Python 编程的核心基础: 知识体系 基础语法篇 (30 篇) ├── 基础入门 (8 篇) │ ├──…...

计算机毕业设计:Python智能二手车数据可视化推荐系统 Flask框架 requests爬虫 协同过滤推荐算法 可视化 汽车之家 机器学习(建议收藏)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...

数据结构与算法学习笔记

java一.数据结构简介1. 为什么要有数据结构?数据太多、太乱 → 无法高效处理 → 必须结构化2. 数据结构的两大分类逻辑结构:数据之间的关系(怎么理解)物理结构:内存中的存储方式(怎么实现)3. 逻…...

英飞凌TC3XX时钟系统实战:从PLL配置到CCU分频的避坑指南

英飞凌TC3XX时钟系统实战:从PLL配置到CCU分频的避坑指南 在嵌入式系统开发中,时钟系统如同人体的神经系统,为整个芯片提供精准的时序控制和同步信号。作为英飞凌AURIX™系列中的旗舰产品,TC3XX微控制器凭借其高度可配置的时钟架构…...

G-Helper:重塑华硕硬件控制体验的轻量级开源解决方案

G-Helper:重塑华硕硬件控制体验的轻量级开源解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Sca…...

为什么要使用幂等防重复提交,它的逻辑是什么对比其他的来说有什么优势

好,这个问题非常关键,尤其是在金融、支付、电商、表单提交流水线等场景,理解“为什么用幂等 防重复提交”和“它和其他方案比的优势”是做高可靠系统的核心。一、为什么要做幂等防重复提交?1️⃣ 重复请求是现实世界里的必然在真…...

DeepSeek总结的 PostgreSQL 19:为 UPDATE/DELETE 添加 FOR PORTION OF 子句

原文地址:https://www.depesz.com/2026/04/02/waiting-for-postgresql-19-add-update-delete-for-portion-of/ 等待 PostgreSQL 19:为 UPDATE/DELETE 添加 FOR PORTION OF 子句 2026 年 4 月 1 日,Peter Eisentraut 提交了一个补丁&#xf…...

对在aarch64 Linux环境编译安装的CinderX补充测试

前文最后说,CinderX报错不能用,这不对,我在其github存储库上提了这个issue,alexmalyshev回复 I think that’s actually just a warning that you’re getting but things should be working after that?Right, this is just a l…...

springcloud项目如何禁用三方依赖的拦截器

背景: 原始代码中有一个自定义的通用依赖,这个依赖中有很多通用方法和拦截器供整个系统使用。 需求: 禁用其中一个拦截器,保留其他方法和拦截器,过滤器等。 拦截器介绍 原有拦截器,自己封装了一个jdk&#…...

如何查看浏览器中当前存储的 Cookie?

如何查看浏览器中的 Cookie?为什么有些 Cookie 看不到?1. 引言:快递单号与隐私信封2. Cookie 是什么?(小白必备)3. 核心问题:为什么有些 Cookie“看不到”?4. 如何查看 Cookie&#…...