如何在 Linux 中實時監控日誌文件(桌面和伺服器)
本教程介紹了如何實時監控 Linux 日誌文件(桌面、伺服器或應用)以進行診斷和故障排除。
當你在 Linux 桌面、伺服器或任何應用中遇到問題時,你首先會查看單獨的日誌文件。日誌文件通常是文本流和來自應用的帶有時間戳的消息。它可以幫助你縮小特定問題的範圍,並使你能夠找到問題的原因。它還可以幫助從網路獲得幫助。
一般來說,所有的日誌文件都位於 /var/log
。此目錄包含特定應用和服務的擴展名為 .log
的日誌文件,它還包含了其他含有日誌的獨立目錄。
所以,如果你想監控一堆日誌文件或特定的一個,這裡有一些方法可以做到。
Linux 實時監控日誌文件
使用 tail 命令
tail
命令是實時跟蹤日誌文件的最基本方式。特別是如果你在只有終端而沒有 GUI 的伺服器中。這很有幫助。
基本語法如下:
tail /path/to/log/file
用法:
可以使用開關 -f
跟蹤實時更新的日誌文件。例如,如果要關注 syslog,可以使用以下命令。
tail -f /var/log/syslog
你可以使用單個命令監控多個日誌文件:
tail -f /var/log/syslog /var/log/dmesg
如果要監視 HTTP 或 sftp 或任何伺服器,可以在此命令中使用它們各自的日誌文件。
請記住,上述命令需要管理員許可權。
使用 lnav(日誌文件瀏覽器)
lnav
是一個出色的程序,你可以用它來用彩色編碼的信息以更有條理的方式監控日誌文件。在 Linux 系統中,這個工具不是默認安裝的。你可以用下面的命令來安裝它:
Ubuntu:
sudo apt install lnav
Fedora:
sudo dnf install lnav
lnav 的好處在於,如果你不想安裝它,你可以下載其預編譯的可執行文件並在任何地方運行它,甚至可以從 U 盤上運行。無需設置,並載入了功能。使用 lnav,你可以通過 SQL 查詢日誌文件,以及其他很酷的功能,你可以在其官方網站上學習。
安裝後,你可以在具有管理員許可權的終端上運行 lnav
,它會默認顯示 /var/log
中的所有日誌並開始實時監控。
關於 systemd 的 journalctl 的一個說明
當今所有現代 Linux 發行版都主要使用 systemd。 systemd 提供了運行 Linux 操作系統的基本框架和組件。 systemd 通過 journalctl
提供日誌服務,這有助於管理來自所有 systemd 服務的日誌。你還可以使用以下命令實時監控各個 systemd 服務和日誌。
journalctl -f
以下是一些特定的 journalctl
命令,可用於多種情況。你可以將這些與上面的 -f
選項結合使用以開始實時監控。
對於緊急系統消息,請使用:
journalctl -p 0
顯示帶有解釋的錯誤:
journalctl -xb -p 3
使用時間控制過濾:
journalctl --since "2022-12-04 06:00:00"
journalctl --since "2022-12-03" --until "2022-12-05 03:00:00"
journalctl --since yesterday
journalctl --since 09:00 --until "1 hour ago"
如果你想了解更多關於 journalctl 的詳細信息,我已經在這寫了份 指南。
結束語
我希望這些命令和技巧可以幫助你找到桌面或伺服器中問題/錯誤的根本原因。有關更多詳細信息,你可以隨時參考手冊頁並使用各種選項。如果你對本文有任何意見或想法,請使用下面的評論欄告訴我。
乾杯。
via: https://www.debugpoint.com/monitor-log-files-real-time/
作者:Arindam 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive