0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用journalctl來讀取、監(jiān)控和分析Linux中的日志

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-23 16:44 ? 次閱讀

Systemd是大多數(shù)主要Linux發(fā)行版的默認的初始化程序。Systemd的主要功能之一收集日志以及為分析日志提供工具。

在傳統(tǒng)的SysV 初始化系統(tǒng)中,將日志存儲在純文本文件。讀取和分析這些文件需要使用find、grep、cut和許多其他命令組合。

Systemd比Syslogs從更多的來源收集日志,以二進制格式保存日志,并為您提供命令行工具來讀取、分析和操作日志。這比系統(tǒng)日志更精簡。

journald是Systemd的守護進程,它從各種日志源收集日志,如syslog。journalctl是一個命令行工具,可讓您與日志進行交互。

使用journalctl命令可以讀取日志,實時監(jiān)控日志,根據(jù)時間、服務、嚴重性等參數(shù)過濾日志。

在本教程中,我將向您展示如何使用journalctl來讀取、監(jiān)控和分析Linux中的日志。

啟用journald服務

一些Linux發(fā)行版,特別是桌面發(fā)行版,默認情況下不啟用日志。日志的默認目錄是/var/log/journal

接下來,在etc/systemd/journald.conf文件中確保將值Storage設置為autopersistent。

journald.conf文件包含默認值。因此,配置行前面有#符號,也意味著這些配置選項使用默認設置。如果要更改任何內(nèi)容,請從該行中刪除#。

閱讀日志

我們向您展示一些journalctl命令最基本但最有用的示例。如果您只是在終端中輸入journalctl命令,它將按時間順序顯示日志日志。

journalctl命令在將會調(diào)用less命令來向您顯示日志。這意味著您可以與使用less命令相同的按鍵來移動日志。

如果您不希望日志以less命令的模式顯示,則可以使用journalctl命令的--no-pager選項,這將直接在屏幕上顯示整個日志。

journalctl
journalctl --no-pager

按時間倒序顯示日志

默認情況下,journalctl命令按時間順序顯示日志。這意味著最早的存儲日志首先顯示。

如果您想首先查看最近的日志,可以使用journalctl命令的-r選項以相反的順序顯示日志。

journalctl命令它仍然使用less命令,顯示日志,因此你可按快捷鍵q退出日志查看模式。

journalctl -r

查看最近 N行日志

您可以使用journalctl命令的-n選項選擇僅顯示指定行數(shù)最近的日志,而不是顯示所有日志。

例如命令journalctl -n 25顯示最近的 25 行日志。

journalctl -n 25

實時查看日志

現(xiàn)在你已經(jīng)學會查看最近的日志,如果要實時查看日志,可以使用journalctl命令的-f選項。

與tail命令的-f選項一樣,這將在追蹤模式下實時顯示日志??梢允褂每旖萱ICtrl+C命令退出實時視圖。

journalctl -f

查看內(nèi)核日志

Systemd會累積來自不同來源的日志。如果您只想查看Linux內(nèi)核日志,可以使用journalctl命令的-k選項。

journalctl -k

查看所有日志

Systemd會根據(jù)當前用戶權限是否顯示用戶可查看的日志。如果您是普通用戶,它可能會顯示一些日志,但不會顯示所有日志。

如果您想訪問所有日志,則應使用sudo運行journalctl命令。例如命令sudo journalctl

sudo journalctl

查看服務日志

journalctl命令的-u選項??勺屇梢愿鶕?jù)Systemd服務過濾日志。例如,你想查看 SSH服務生成的日志。請運行命令journalctl -u ssh。

journalctl -u ssh

查看指定時間間隔的日志

這是日志的過濾功能的另一個示例。您可以過濾指定時間段的日志,并且有多種方法可以做到這一點。

您可以使用自然語言來過濾日志。像yesterday、today和tormrow這樣的術語也會被識別。您還可以指定日期或日期時間組合。使用日期和時間指定時間段。

您甚至還可以使用-1h20min等相對時間來指定過去的1小時20分鐘。journalctl命令的--since選項表示開始時間。--until選項表示結(jié)束時間。

journalctl --since=yesterday --until=now
journalctl --since "2020-07-10"
journalctl --since "2020-07-10 15:10:00" --until "2020-07-12"

根據(jù)UID、GID和PID過濾日志

如果您正在調(diào)試程序問題,您可能希望使用進程的PID查看日志。還可以根據(jù)用戶 ID (UID)、組ID (GID) 和進程 ID (PID) 過濾日志日志。

journalctl _PID=1234

journalctl -xe

您經(jīng)常會發(fā)現(xiàn)有人建議使用journalctl -xe命令。-e跳轉(zhuǎn)到日志分頁的末尾。-x選項添加日志的額外的消息解釋。

某些日志消息具有正常日志查看中未顯示的附加信息。使用-x選項可能會顯示此類信息。附加信息有助于解釋錯誤或日志事件的上下文以及可能的解決方案。

查看指定日志級別日志

您還可以使用日志級別來獲取調(diào)試、警告甚至關鍵級別的日志。這里列出了所有日志級別和優(yōu)先級。

0表示emerg緊急,1表示alert警報,2表示crit關鍵。3表示錯誤。4表示警告。5表示注意。6表示普通信息。7表示調(diào)試消息。

要查看當前會話中的所有錯誤級別的日志,可以運行命令journalctl -p 3 -xb。-p選項指定日志級別,這里指定為3,也就是錯誤級別。

-x選項添加日志的附加信息。-b選項自上次啟動,即當前會話以來。

journalctl -p 3 -xb

您還可以指定多個日志級別。例如您想查看當前會話中的所有警告、通知和信息日志,請運行命令journalctl -p 4..6 -b0

journalctl -p 4..6 -b0

查看日志大小

journald從各種來源收集日志,并存儲包括調(diào)試日志在內(nèi)的各種級別的日志。雖然保留日志有助于分析和審計,但它們會占用大量磁盤空間。

您可以運行命令journalctl --disk-usage檢查日志占用多少磁盤空間。當您看到輸出時,它將打印消息Archived and active journals take up 2.8G in the file system.。

journalctl --disk-usage

結(jié)論

journalctl命令還有很多選項和用法,這里不可能全部介紹。如果您想了解更多詳細信息,建議您閱讀其手冊頁。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11207

    瀏覽量

    208712
  • 命令
    +關注

    關注

    5

    文章

    676

    瀏覽量

    21965
  • 日志
    +關注

    關注

    0

    文章

    138

    瀏覽量

    10626
收藏 人收藏

    評論

    相關推薦

    Linux日志分析工具logwatch的安裝及使用

    日志是非常重要的系統(tǒng)文件,管理員每天的重要工作就是分析和查看服務器的日志,判斷服務器的健康狀態(tài)。但是日志管理又是一項非??菰锏墓ぷ?,如果需要管理員手工查看服務器上所有的
    發(fā)表于 08-24 10:08 ?425次閱讀

    java 日志框架Spring Boot分析

    應用程序輸出相應的日志。 在傳統(tǒng)Java應用程序,我們一般會使用類似Log4j這樣的日志框架輸出
    發(fā)表于 09-28 14:58 ?0次下載

    linux系統(tǒng)日志在哪里

    Linux系統(tǒng)擁有非常靈活和強大的日志功能,可以保存幾乎所有的操作記錄,并可以從中檢索出我們需要的信息。日志文件的默認路徑是:/var/log下面是幾個重要的日志文件的路徑及其包含的信
    發(fā)表于 11-03 12:25 ?3738次閱讀
    <b class='flag-5'>linux</b>系統(tǒng)<b class='flag-5'>日志</b>在哪里

    對于大規(guī)模系統(tǒng)日志日志模式提煉算法的優(yōu)化

    LARGE框架是部署在中國科學院超級計算環(huán)境日志分析系統(tǒng),通過日志收集、集中分析、結(jié)果反饋等步驟對環(huán)境
    發(fā)表于 11-21 14:54 ?7次下載
    對于大規(guī)模系統(tǒng)<b class='flag-5'>日志</b>的<b class='flag-5'>日志</b>模式提煉算法的優(yōu)化

    基于Hadoop與聚類分析的網(wǎng)絡日志分析模型

    針對海量web日志數(shù)據(jù)在存儲和計算方面存在的問題,結(jié)合當前的大數(shù)據(jù)技術,提出一種基于Hadoop與聚類分析的網(wǎng)絡日志分析模型。利用Hadoop
    發(fā)表于 12-07 15:40 ?0次下載
    基于Hadoop與聚類<b class='flag-5'>分析</b>的網(wǎng)絡<b class='flag-5'>日志</b><b class='flag-5'>分析</b>模型

    NAS日志分析用戶指南

    摘要:?NAS“日志分析”新功能,旨在幫助用戶更好地監(jiān)控文件系統(tǒng)資源。通過該功能,用戶可以方便地跟蹤系統(tǒng)性能問題,記錄文件系統(tǒng)上的數(shù)據(jù)操作情況,審計文件刪除等相關操作,有效監(jiān)控各區(qū)域
    發(fā)表于 08-08 17:44 ?439次閱讀

    Linux系統(tǒng)日志文件的JFS文件系統(tǒng)

    嵌入式linux中文站向大家介紹一下JFS文件系統(tǒng)。Linux系統(tǒng)日志文件的JFS系統(tǒng), JFS 由IBM 公司開發(fā),最初出現(xiàn)在AIX 操作系統(tǒng)之上,它提供了基于
    發(fā)表于 05-05 14:10 ?4996次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>日志</b>文件<b class='flag-5'>中</b>的JFS文件系統(tǒng)

    學會用日志了解你的 Linux 系統(tǒng)

    Linux 系統(tǒng)日志非常重要,后臺運行的程序(通常被稱為守護進程或者服務進程)處理了你 Linux 系統(tǒng)的大部分任務。
    發(fā)表于 05-06 16:39 ?715次閱讀

    Linux 中使用日志排錯

    人們創(chuàng)建日志的主要原因是排錯。通常你會診斷為什么問題發(fā)生在你的 Linux 系統(tǒng)或應用程序。錯誤信息或一系列的事件可以給你提供找出根本原因的線索,說明問題是如何發(fā)生的,并指出如何解
    發(fā)表于 04-02 14:33 ?304次閱讀

    文件系統(tǒng)日志系統(tǒng)是如何實現(xiàn)的

    日志 本文聊聊文件系統(tǒng)日志系統(tǒng),來看一個簡單的日志系統(tǒng)是如何實現(xiàn)的。本文是接著前面的 xv6 系列,用到的一些前導知識不再說明,沒看的
    的頭像 發(fā)表于 09-29 11:04 ?2154次閱讀
    文件系統(tǒng)<b class='flag-5'>中</b>的<b class='flag-5'>日志</b>系統(tǒng)是如何實現(xiàn)的

    嵌入式linux設備應用運行日志的實現(xiàn)

    嵌入式linux設備應用運行日志的實現(xiàn)? ? ? 最近在做一個項目時,需要記錄設備運行中情況,以方便對故障進行跟蹤定位,完善.所以決定采用記錄程序運行日志,經(jīng)過在網(wǎng)上搜索,采用
    發(fā)表于 11-01 17:22 ?8次下載
    嵌入式<b class='flag-5'>linux</b>設備<b class='flag-5'>中</b>應用運行<b class='flag-5'>日志</b>的實現(xiàn)

    解析Linux系統(tǒng)日志

    日志記錄了系統(tǒng)每天發(fā)生的各種各樣的事情,比如監(jiān)測系統(tǒng)狀況、排查系統(tǒng)故障等。你可以通過日志檢查錯誤發(fā)生的原因,或者受到攻擊時攻擊者留下的痕跡。日志的主要功能是審計和監(jiān)測,還可以實時地監(jiān)
    的頭像 發(fā)表于 01-05 09:41 ?1539次閱讀

    log4j日志框架分析

    og4j是Apache下的一款開源的日志框架,能夠滿足我們在項目中對于日志記錄的需求。log4j提供了簡單的API調(diào)用,強大的日志格式定義以及靈活的擴展性。使用者可以自己定義Appender
    的頭像 發(fā)表于 02-28 14:32 ?1073次閱讀
    log4j<b class='flag-5'>日志</b>框架<b class='flag-5'>分析</b>

    linux日志管理之journalctl命令

    journalctl 用來查詢 systemd-journald 服務收集到的日志。systemd-journald 服務是 systemd init 系統(tǒng)提供的收集系統(tǒng)日志的服務。
    的頭像 發(fā)表于 08-14 18:18 ?1997次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>日志</b>管理之<b class='flag-5'>journalctl</b>命令

    Jtti:如何查看yum命令的錯誤日志診斷問題?

    Linux系統(tǒng),當yum命令無法正常工作時,查看錯誤日志是診斷問題的重要步驟。以下是一些方法,可以幫助你查看和分析yum命令的錯誤日志
    的頭像 發(fā)表于 10-14 15:51 ?127次閱讀