Journal日誌服務詳解

Journal日誌服務

journalctl 用來查詢 systemd-journald 服務收集到的日誌。systemd-journald 服務是 systemd init 系統提供的收集系統日誌的服務。

常用命令行

journalctl 查看所有日誌

journalctl --disk-usage 用於查看目前日誌佔用了多少磁盤空間

journalctl -n 4 查看最新的4行日誌

journalctl --since=2020-06-23 查看從2020-06-23開始的日誌

journalctl --since=13:00 查看從13:00開始的日誌

journalctl --until=2020-06-23 查看截止到2020-06-23的日誌

journalctl --until=13:00 查看截止到13:00的日誌

journalctl --since time --until time 查看某一時間段內的日誌

journalctl -p err 查看error級別的日誌(同理可改爲info、warning等級別)

journalctl -o verbose 查看日誌詳細信息

journalctl _PID=num _COMM=sshd 查看特定pid和特定命令的日誌信息

echo ""> /var/log/journal/2019100817110995251777489178452/system.journal 清空當前正在記錄的日誌文件

journalctl --vacuum-time=1m 僅保留最近一個月的日誌文件

journalctl --vacuum-size=500M 僅保留500MB大小的日誌文件

systemctl restart systemd-journald 服務控制

配置文件參數詳解

配置文件所在位置:/etc/systemd/journald.conf默認狀態所有選項均爲註釋狀態

[Journal]
Storage=auto           #存儲日誌文件位置("volatile" 表示僅保存在內存中,路徑:/run/log/journal 、"persistent" 表示優先保存在磁盤上,路徑:優先保存在 /var/log/journal、"auto"默認值、"none"不保存任何日誌)
Compress=yes            #壓縮存儲大於特定閾值的對象
Seal=yes          #如果存在一個"sealing key", 那麼就爲所有持久保存的日誌文件啓用 FSS驗證
SplitMode=uid   #是否按用戶進行日誌分割(分割策略:"uid" 表示每個用戶都有專屬日誌文件系統用戶仍寫進系統日誌,"none" 不進行日誌分割,所有用戶日誌均寫進系統日誌
SyncIntervalSec=5m    #向磁盤刷寫日誌時間間隔(error以上,不含error級別日誌會立即刷寫)
RateLimitInterval=30s    
RateLimitBurst=1000    #上下兩個選項表示在30s內每個服務最多紀錄1000條日誌,多餘日誌丟棄
SystemMaxUse=       #全部日誌最大佔用磁盤空間
SystemKeepFree=     #除日誌文件之外,至少保留多少空間給其他用途(磁盤)
SystemMaxFileSize=     #單個日誌文件最大佔用磁盤空間
RuntimeMaxUse=      #全部日誌最大佔用內存空間
RuntimeKeepFree=    #除日誌文件之外,至少保留多少空間給其他用途(內存)
RuntimeMaxFileSize=     #單個日誌文件最大佔用內存大小
MaxRetentionSec=      #日誌文件最大保留期限(超過該時間自動刪除)
MaxFileSec=1month     #日誌滾動時間間隔
ForwardToSyslog=yes   #表示是否將接收到的日誌消息轉發給傳統的 syslog 守護進程
ForwardToKMsg=no        #表示是否將接收到的日誌消息轉發給內核日誌緩衝區(kmsg)
ForwardToConsole=no    #表示是否將接收到的日誌消息轉發給系統控制檯
ForwardToWall=yes      #表示是否將接收到的日誌消息作爲警告信息發送給所有已登錄用戶
TTYPath=/dev/console     
MaxLevelStore=debug      #表示記錄到日誌中的最高日誌等級
MaxLevelSyslog=debug     #轉發給syslog進程的最高日誌等級
MaxLevelKMsg=notice     #轉發給內核日誌緩衝區(kmsg)的最高日誌等級
MaxLevelConsole=info     #轉發給系統控制檯的最高日誌等級
MaxLevelWall=emerg     #置作爲警告信息發送給所有已登錄用戶的最高日誌等級
LineMax=48K     #每條日誌記錄最大的字節長度,超長部分自動打分割符進行分割
~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章