線上日志排查問題

1、查異常堆棧

顯示該行及其后面的50行內容,然后通過 less 命令進行分頁查看

grep -A 50 "NullPointerException" a.log | less

參數解釋:

  • grep: 文本搜索命令
  • -A 50: After 的意思,顯示匹配行后面的50行
  • “NullPointerException”: 要搜索的文本模式(Java空指針異常)
  • a.log: 目標日志文件
  • |: 管道符,將前一個命令的輸出傳遞給后一個命令
  • less: 分頁查看器,用于逐頁瀏覽長文本

A的參數還可以替換為以下參數:

  • -B 50:Before的意思,顯示匹配行前面的50行
  • -C 50:Context的意思,顯示匹配行前后的50行(對稱顯示)

2、實時監控新日志

實時監控日志文件,當出現 “NullPointerException” 時,顯示該異常及其后面的50行內容。

tail -f a.log | grep --line-buffered "NullPointerException"

參數解釋:

  • tail -f: 實時跟蹤文件的新增內容
  • a.log: 目標日志文件
  • –line-buffered:僅顯示匹配的行

3、翻歷史/壓縮日志

快速定位多個日志文件中的空指針異常,并查看完整的錯誤堆棧信

grep -H -A 50 "NullPointerException" *.log

參數解釋:

  • -H: 顯示文件名(即使只搜索一個文件)
  • *.log: 匹配所有以 .log 結尾的文件
zgrep -H -A 50 "NullPointerException" *.gz

參數解釋:

  • zgrep: 專門用于搜索壓縮文件的grep命令
  • *.gz: 匹配所有以 .gz 結尾的壓縮文件

4、統計異常數量

統計每個 .log 文件中包含 “NullPointerEWxception” 的行數

grep -c "NullPointerEWxception" *.log

-c: count 的意思,統計匹配行的數量

5、多種異常一起查

使用正則表達式在日志文件中同時搜索兩種異常。

grep -E "NullPointerException|TimeoutException|IOException|SQLException" a.log

參數解釋:

  • -E: 使用擴展正則表達式(Extended Regular Expressions),啟用擴展正則表達式,使得 | 被解釋為或操作符,而不是普通字符
  • “NullPointerException|TimeoutException|IOException|SQLException”: 匹配包含 “NullPointerException” 或者 “TimeoutException” 或者”IOException“或者”SQLException“的行

6、反向過濾(排除無關)

查找空指針異常并過濾掉調試信息

grep "NullPointerException" a.log -A 20 | grep -v "debug"

參數解釋:

  • grep -v:反向匹配,顯示不包含指定模式的行

7、按時間范圍篩選日志

查詢出2025-08-21 10點到11點之間出現的空指針異常

awk '/2025-08-21 10:/,/2025-08-21 12:/' a.log | grep "NullPointerException"

參數解釋:

  • awk: 文本處理工具
  • /2025-08-21 10:/,/2025-08-21 12:/:范圍模式(提取這兩個時間點之間的所有行)
    • 起始模式:包含 “2025-08-21 10:” 的行
    • 結束模式:包含 “2025-08-21 12:” 的行

8、關鍵字AND查詢

查找同時包含 “Exception” 和 “UserService” 的行

grep "Exception" a.log | grep "UserService"

9、定位最近一次異常

從日志文件的末尾開始搜索,找到最后一個 “NullPointerException” 并顯示它及其后面的50行內容

tac a.log | grep -m 1 "NullPointerException" -A 50

參數說明:

  • tac: 反向顯示文件內容(cat的反向命令),從文件的最后一行開始,逐行向上顯示,相當于把文件內容完全顛倒順序
  • |:管道,將反向排列的日志內容傳遞給 grep
  • -m 1: 最多匹配1次,找到第一個匹配就停止

10、異常排行

用于統計日志中各種異常的出現次數并按頻率排序

grep "Exception" a.log | sort | uniq -c | sort -nr | head

參數說明:

  • grep “Exception” a.log:從 a.log 中篩選出包含 “Exception” 的所有行
  • sort:對異常行進行排序(按字母順序)
  • uniq -c:合并相同的異常行并顯示計數
  • sort -nr:按出現次數從高到低排序
    • n: 按數字排序
    • r: 反向排序(降序)
  • head:顯示前10行(默認)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94037.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94037.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94037.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LabVIEW與CAN開發燃料電池監控

?基于 LabVIEW 與 CAN 總線技術,構建了一套多組質子交換膜燃料電池(PEMFC)堆監控系統。系統采用優質硬件設備,通過 LabVIEW 的圖形化編程能力實現數據采集、實時監控與多堆切換控制,穩定可靠,為燃料電池性…

CVPR焦點 | 神經網絡新范式:輕量化與精度并行,重塑視覺任務性能天花板

關注gongzhonghao【CVPR頂會精選】神經網絡卷積想找新亮點?不妨考慮:動態結構設計。作為深度學習架構搜索與高效建模兩大熱點的結合,動態神經網絡憑借自適應推理與高效特征利用的優勢,在視覺識別、視頻理解等任務中脫穎而出&#…

機器學習之集成算法學習

一、集成學習概述集成學習(ensemble learning)通過構建并結合多個個體學習器來完成學習任務,核心思想是 “集眾家之長”—— 就像多個專家共同判斷往往比單個專家更可靠。其關鍵在于如何生成多樣化的個體學習器并設計有效的結合策略。結合策略…

Unreal Engine UE_LOG

Unreal🎮 Unreal Engine - UE_LOG📝 定義🏛 類/宏關聯? 關鍵特性🛠? 常見配置📚 使用方法🔧 基礎語法🔍 示例🪂 典型應用場景🔗 與其他組件對比?? 常見問題與注意事項…

Halcon那些事:什么是動態閾值,如何用dyn_threshold分割圖片

Halcon那些事:什么是動態閾值,如何用dyn_threshold分割圖片 一、什么是動態閾值?為什么需要它? 1. 傳統全局閾值的局限性 2. 動態閾值的核心思想 二、Halcon 中的核心算子:`dyn_threshold` 1. 算子原型 2. 參數詳解 三、工作原理(數學模型) 四、詳細使用步驟與實例 五、關…

Go初級二

Go初級入門(二):變量、常量與數據類型 大家好,歡迎來到《Go初級入門》系列的第二篇!在上一篇文章中,我們介紹了如何安裝Go環境并運行第一個“Hello, World”程序。今天,我們將深入Go語言的基礎語…

《戰神:諸神黃昏》v1.0.668中文版,索尼大作,PC平臺體驗諸神黃昏

[游戲名稱]: 《戰神:諸神黃昏》v1.0.668中文版 [軟件大小]: 175 GB [軟件大小]: 夸克網盤 游戲介紹 《戰神:諸神黃昏》是由索尼制作并發行的動作冒險游戲,作為《戰神4》的正統續作,它繼續了奎托斯與阿特柔斯的神話之旅。在諸神…

AI賦能環保精準治理:AI水質監測溯源快、空氣質量預測施策準,守護生態新效能

傳統環境保護工作長期受限于 “污染監測滯后”“溯源難度大”“治理方案針對性弱” 的問題,而 AI 技術的深度應用,正讓環保工作從 “被動應對” 轉向 “主動預判”,既能實時捕捉污染蹤跡,還能精準制定治理方案,讓生態保…

yolo訓練實例(一)

yolo官網 https://github.com/ultralytics/ultralytics?tabreadme-ov-file 下載python和解除限制 https://www.python.org/downloads/windows/ Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled"…

STM32-BKP備份寄存器與RTC實時時鐘

引言本文主要從BKP備份寄存器和RTC實時時鐘的原理,特性及應用三個方面展開討論,解析它們在STM32中的獨特價值,助力開發者更好的掌握和運用它們。BKP備份寄存器的定義STM32的BKP備份寄存器是一種特殊的存儲單元,它位于備份區域&…

Linux網絡服務(五)——FTP服務詳解與實踐操作手冊

文章目錄前言一、FTP服務概述1.1 FTP基本定義1.2 VSFTP模式分類1.3 FTP端口作用二、FTP作用與工作原理(重點)2.1 FTP的作用、模式及通信方式2.1.1 FTP核心作用2.1.2 VSFTP模式與通信協議2.2 FTP工作原理與流程2.2.1 主動模式工作原理2.2.2 被動模式工作原…

5.3 包管理工具 npm yarn pnpm 對比

基本介紹 工具發布時間開發者定位npm2010 年npm Inc / OpenJS FoundationNode.js 官方包管理器Yarn2016 年Facebook(現 Meta)更快、更可靠的替代方案pnpm2016 年Zoltan Kochan高性能、節省磁盤空間 一、核心機制與設計差異 1. npm(Node Pa…

爬蟲基礎學習-授權認證,cookie認證,異常處理

驗證: HTTPBasicAuthHandler(用戶基本的身份驗證處理) HTTPPasswordMgrWithDefaultRealm(經常和authhandler一起出現)#創建一個密碼管理器 password_mgr urllib.request.HTTPPasswordMgrWithDefaultRealm() #添加進目…

開發避坑指南(34):mysql深度分頁查詢優化方案

問題語句 SELECT* FROMt_order_log l WHERE1 1 AND l.create_time > 2024-08-28 AND l.create_time < 2024-09-04 23:59:59 LIMIT 10000,10上述查詢sql&#xff0c;即使create_time字段已建立索引&#xff0c;但偏移量達到幾十萬時候&#xff0c;查詢耗時將近1分鐘&…

Unreal Engine UFloatingPawnMovement

Unreal? Unreal Engine - UFloatingPawnMovement&#x1f3f7; 定義&#x1f9e9; 類繼承關系?? 關鍵特性&#x1f6e0;? 常見配置&#xff08;Details 面板/代碼&#xff09;&#x1f4dd; 使用方法1) 在 Pawn 中添加組件&#xff08;C&#xff09;2) 綁定輸入與驅動移動3…

某網盤不好用?有沒有類似某網盤的存儲軟件?阿里云國際站 OSS:云存儲的全能助手,你 get 了嗎?

在這個數據爆炸的時代&#xff0c;數據存儲和管理成為了眾多企業和個人面臨的一大挑戰。想象一下&#xff0c;你是一位視頻博主&#xff0c;隨著粉絲量的增長&#xff0c;視頻素材越來越多&#xff0c;電腦硬盤根本裝不下&#xff0c;每次找素材都要花費大量時間。又或者你是一…

安全運維過程文檔體系規范

安全運維過程文檔體系規范 1. 文檔體系總覽 本文檔體系嚴格遵循“安全運維生命周期”模型設計&#xff0c;涵蓋業務建立、協同、運維管理、識別防御監測、響應和效果評估六個核心階段。體系旨在通過標準化、規范化的文檔管理&#xff0c;確保所有安全運維活動有章可循、有據可查…

【計算機網絡】 IPV4和IPV6區別

IPv4 和 IPv6 是兩代 互聯網協議&#xff08;Internet Protocol&#xff09;&#xff0c;它們的核心作用都是&#xff1a; &#x1f449; 為網絡設備分配唯一地址&#xff0c;讓它們能在網絡中互相通信。1?? 地址長度IPv4&#xff1a;32 位&#xff08;4 字節&#xff09;&am…

哈希:最長連續序列

題目描述&#xff1a;無序的整型數組&#xff0c;求連續最長序列。 輸入&#xff1a;nums [100,4,200,1,3,2] 輸出&#xff1a;4 &#xff08;因為&#xff1a;最長數字連續序列是 [1, 2, 3, 4]&#xff0c;長度為 4。&#xff09; 說明&#xff1a;連續指的是數字的連續…

python中的生成器

概要python中的生成器是一種特殊的迭代器&#xff0c;如果按照c語言的說法&#xff0c;就是一種特殊的指針&#xff0c;但是python語言的一個語言特性是兼容了函數化編程&#xff0c;類似lambda匿名函數機制。本文重點介紹生成器表達式的使用&#xff0c;是一種很快捷&#xff…