如何查看Linux系統(tǒng)日志?journalctl和tail -f /var/log/messages實(shí)戰(zhàn)技巧

要查看linux系統(tǒng)日志,推薦使用journalctl和tail -f /var/log/messages兩個(gè)工具;1. journalctl適用于systemd系統(tǒng),支持按時(shí)間、服務(wù)等過濾,命令如journalctl -u sshd或結(jié)合時(shí)間范圍過濾;2. tail -f適合傳統(tǒng)系統(tǒng)或快速監(jiān)控整體日志,常用命令為tail -f /var/log/messages并可配合grep過濾;3. 新系統(tǒng)優(yōu)先選journalctl,老舊或嵌入式設(shè)備可用tail;4. 兩者可同時(shí)使用以提高排查效率。

如何查看Linux系統(tǒng)日志?journalctl和tail -f /var/log/messages實(shí)戰(zhàn)技巧

查看linux系統(tǒng)日志是排查問題、監(jiān)控運(yùn)行狀態(tài)的重要手段。在實(shí)際操作中,journalctl和tail -f /var/log/messages是比較常用的兩個(gè)工具,它們各有特點(diǎn),適用于不同場(chǎng)景。

如何查看Linux系統(tǒng)日志?journalctl和tail -f /var/log/messages實(shí)戰(zhàn)技巧


一、journalctl:新一代日志管理利器

journalctl是systemd系統(tǒng)下的核心日志工具,它不僅記錄了內(nèi)核和系統(tǒng)服務(wù)的日志,還支持按時(shí)間、服務(wù)、優(yōu)先級(jí)等多種方式過濾,功能非常強(qiáng)大。

如何查看Linux系統(tǒng)日志?journalctl和tail -f /var/log/messages實(shí)戰(zhàn)技巧

常用技巧:

  • 查看全部日志:

    如何查看Linux系統(tǒng)日志?journalctl和tail -f /var/log/messages實(shí)戰(zhàn)技巧

    journalctl
  • 查看最近一次啟動(dòng)的日志:

    journalctl -b
  • 實(shí)時(shí)追蹤日志輸出(類似tail -f):

    journalctl -f
  • 查看特定服務(wù)的日志(比如sshd):

    journalctl -u sshd
  • 結(jié)合時(shí)間范圍過濾(例如查看今天凌晨2點(diǎn)到3點(diǎn)之間的日志):

    journalctl --since "2025-04-05 02:00:00" --until "2025-04-05 03:00:00"

journalctl的優(yōu)勢(shì)在于它直接對(duì)接systemd,不需要依賴傳統(tǒng)的日志文件路徑,適合那些使用systemd的現(xiàn)代Linux發(fā)行版。


二、tail -f /var/log/messages:傳統(tǒng)但實(shí)用的方式

雖然很多新系統(tǒng)已經(jīng)轉(zhuǎn)向journald,但 /var/log/messages 或 /var/log/syslog(取決于發(fā)行版)依然是許多老運(yùn)維人員的習(xí)慣選擇。

使用方法很簡(jiǎn)單:

tail -f /var/log/messages

這條命令會(huì)持續(xù)輸出該文件新增的內(nèi)容,適合監(jiān)控系統(tǒng)整體運(yùn)行情況,尤其是當(dāng)你不確定具體是哪個(gè)服務(wù)出問題時(shí)。

幾點(diǎn)建議:

  • 如果你發(fā)現(xiàn) /var/log/messages 沒有內(nèi)容,可能是日志服務(wù)沒有啟用或者配置了其他日志路徑。
  • 可以配合 grep 使用,過濾關(guān)鍵信息:
    tail -f /var/log/messages | grep sshd
  • 注意權(quán)限問題,有些日志文件需要root權(quán)限才能訪問,記得加 sudo。

這種方式的優(yōu)點(diǎn)是簡(jiǎn)單直觀,適合快速查看系統(tǒng)級(jí)別的錯(cuò)誤或警告信息。


三、兩者如何選擇?

如果你用的是較新的centosubuntu或Fedora系統(tǒng),推薦優(yōu)先使用journalctl,因?yàn)樗`活、功能更強(qiáng)。但在某些嵌入式設(shè)備或老舊服務(wù)器上,可能還是得靠傳統(tǒng)的syslog文件。

  • journalctl適合:

    • 需要精確過濾某服務(wù)或某時(shí)間段
    • 不確定日志寫在哪里
    • 想獲取結(jié)構(gòu)化日志信息
  • tail適合:

有時(shí)候可以同時(shí)使用,比如一邊用journalctl -u nginxnginx服務(wù)日志,另一邊用tail -f /var/log/nginx/access.log看訪問日志,這樣能更快定位問題。


基本上就這些。掌握好這兩個(gè)工具,大部分日常的日志查看需求都能滿足。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享