在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

詳解journalctl日志管理

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-06-05 17:22 ? 次閱讀

journalctl日志管理

systemd日志管理

systemd 提供了自己的日志系統(logging system),稱為 journal。使用 systemd 日志,無需額外安裝日志服務(syslog)。讀取日志的命令:

#讀取systemd日志
journalctl

默認情況下(當Storage= 在配置文件/etc/systemd/journald.conf中被設置為auto),日志記錄將被寫入/var/log/journal/;該目錄是 systemd 軟件包的一部分。若被刪除,systemd不會自動創建它,直到下次升級軟件包時重建該目錄。如果/var/log/journal/目錄缺失,systemd 會將日志記錄寫入/run/systemd/journal。這意味著,系統重啟后日志將丟失。

配置systemd journald日志持久存儲

參考: https://thinkit.co.jp/story/2014/12/18/5389?page=0%2C1

在CentOS7的journald設置中,日志文件存放在/run/log/journal目錄下。但是/run目錄是tmpfs文件系統掛載的,當OS重啟時,/run/log/journal目錄下存儲的日志文件會被刪除。
為了在操作系統重啟后也能保存日志,在journald配置文件/etc/systemd/journald.conf中指定“Storage=persistent”

#配置日志持久存儲
sed -i 's/^#Storage=auto/Storage=persistent/' /etc/systemd/journald.conf

#限制日志容量為128MB
SystemMaxUse=128M

重啟systemd-journald服務使配置生效

#重啟systemd-journald服務
systemctl restart systemd-journald

#檢查當前由journald管理的所有日志的容量
journalctl --disk-usage

40a95e78-3fa4-11f0-b715-92fbcf53809c.png

在這里插入圖片描述

日志大小限制

可以修改配置文件指定最大限制。如限制日志最大 50MiB:

#修改全局配置文件
vim /etc/systemd/journald.conf

#限制日志最大 50MiB
SystemMaxUse=50M

還可以通過子配置而不是全局配置文件進行設置:

#修改子配置文件
vim /etc/systemd/journald.conf.d/00-journal-size.conf

#限制日志最大 50MiB
[Journal]
SystemMaxUse=50M

配置rsyslogd和systemd journald

#創建 持久化保存日志的目錄
mkdir -p /var/log/journal
mkdir -p /etc/systemd/journald.conf.d

配置內容如下:

cat > /etc/systemd/journald.conf.d/99-prophet.conf << EOF
[Journal]
#?持久化保存到磁盤
Storage=persistent

#?壓縮歷史記錄
Compress=yes

SyncIntervalSec=5m
RateLimitInterval=30s
RateLimitBurst=1000

#?最大占用空間
SystemMaxUse=10G

#?單文件最大200M
SystemMaxFileSize=200M

#?日志保存時間2周
MaxRetentionSec=2week

#?是否將日志轉發到syslog
ForwardToSyslog=no
EOF

重新加載配置或重啟systemd-journald服務

#重啟systemd-journald
systemctl restart systemd-journald

無法發現/var/log/journal目錄

#將Storage參數與更改成Storage=persistent
vim /etc/systemd/journald.conf

#持久化方式存儲日志
Storage=persistent

#重啟systemd-journald服務
systemctl restart systemd-journald

配置自動刪除日志

https://linux.cn/article-15526-1.html

建議使用/etc/systemd/journald.conf這個journald 配置文件來控制日志文件的清理過程。

systemd提供了許多參數來有效管理日志文件。

journald.conf 參數 描述 實例
SystemMaxUse 指定日志在持久性存儲中可使用的最大磁盤空間 SystemMaxUse=500M
SystemKeepFree 指定在將日志條目添加到持久性存儲時,日志應留出的空間量。 SystemKeepFree=100M
SystemMaxFileSize 控制單個日志文件在被輪換之前在持久性存儲中可以增長到多大。 SystemMaxFileSize=100M
RuntimeMaxUse 指定在易失性存儲中可以使用的最大磁盤空間(在 /run 文件系統內)。 RuntimeMaxUse=100M
RuntimeKeepFree 指定將數據寫入易失性存儲(在 /run 文件系統內)時為其他用途預留的空間數量。 RuntimeMaxUse=100M
RuntimeMaxFileSize 指定單個日志文件在被輪換之前在易失性存儲(在 /run 文件系統內)所能占用的空間量。 RuntimeMaxFileSize=200M

修改完配置文件,記得重啟systemd-journald服務

#重啟服務
systemctl restart systemd-journald

journalctl查看日志

journal讀音:(???rn?l,周no)

#顯示尾部的最新10行日志
journalctl -n

#顯示尾部指定行數的日志
journalctl -n 20

#實時滾動顯示最新日志
journalctl -f

journalctl查看指定服務日志

參考:journalctl常見用法

#查看指定service日志
journalctl -u 服務名
## 例如:docker起不來
journalctl -u docker

## -x 顯示完整的日志信息,包括堆棧跟蹤和其他相關信息
## -e 自動滾動到最新的日志條目。
## -u kubelet 指定了要查看的日志單元(unit)
journalctl -xeu kubelet

#將日志保存為文件
journalctl -xeu kubelet > kubelet.log

#動態查看日志(持續輸出,類似于logs -f)
journalctl -eu kubelet -f

## 實時滾動顯示某個Unit的最新日志
journalctl -u kubelet -f

#只查看今天的kubelet日志
## |less可以解決日志顯示不全的問題
journalctl -u kubelet --since today |less

#合并顯示多個 Unit 的日志
journalctl -u nginx.service -u php-fpm.service --since today

根據日期查看

#只看今天的日志
journalctl --since today

#查看指定時間的日志
journalctl --since="2021-10-02 2200"

#查看20分鐘內的日志
journalctl --since "20 min ago"

#顯示昨天記錄的所有系統日志
journalctl --since yesterday

#顯示從2015年1月10日開始到2015年1月11日3:00的所有系統日志
## --since和--until選項用于指定起始時間和結束時間
journalctl --since "2015-01-10" --until "2015-01-11 03:00"

#顯示從早上9點到1小時前記錄的所有系統日志
journalctl --since 09:00 --until "1 hour ago"

查看指定用戶的日志

#查看指定用戶的日志
journalctl _UID=33 --since today

查看指定命令的日志

#查看指定命令的日志
journalctl /usr/bin/bash

40c41a56-3fa4-11f0-b715-92fbcf53809c.png

在這里插入圖片描述

#查看systemd命令行的日志
journalctl /usr/lib/systemd/systemd

查看指定進程的日志

#查看指定進程的日志
journalctl _PID=1

查看引導記錄

#查看引導記錄
journalctl -b

#查看系統本次啟動的日志
sudo journalctl -b
sudo journalctl -b -0

#查看上一次啟動的日志(需更改設置)
sudo journalctl -b -1

journalctl刪除日志

#手工觸發日志輪轉切割
systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service

輪轉日志文件

#刷新日志緩沖區并輪轉日志文件
## --flush:刷新日志緩沖區,將緩沖區中的日志寫入磁盤
## --rotate:輪轉日志文件,將當前日志文件重命名并創建個新的日志文件
journalctl --flush --rotate

刪除指定時間之前的日志條目

#刪除1s以前的日志條目
journalctl --vacuum-time=1s

--vacuum-time的數字后面提供以下后綴:

?s:秒

?m:分鐘

?h:小時

?days:天

?months:月

?weeks:周

?years:年

保留指定大小的最后日志文件

#保留最后 400MB 的文件
journalctl --vacuum-size=400M

--vacuum-size的數字后面提供以下后綴:

?K:KB

?M:MB

?G:GB

保留指定數量的最后日志文件

#保留最后2個日志文件
journalctl --vacuum-files=2

檢查日志文件的完整性

清理完日志文件后,檢查日志文件的完整性是比較明智的。

#檢查日志文件的完整性
journalctl --verify

該命令顯示了日志文件是否通過(PASS)、失敗(FAIL)。

鏈接:https://blog.csdn.net/omaidb/article/details/116019014

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

    關注

    0

    文章

    294

    瀏覽量

    20322
  • 命令
    +關注

    關注

    5

    文章

    733

    瀏覽量

    22759
  • 日志
    +關注

    關注

    0

    文章

    143

    瀏覽量

    10840

原文標題:告別大海撈針!journalctl 精準定位系統問題!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

    日志是非常重要的系統文件,管理員每天的重要工作就是分析和查看服務器的日志,判斷服務器的健康狀態。但是日志管理又是一項非常枯燥的工作,如果需要
    發表于 08-24 10:08 ?538次閱讀

    C語言內存管理詳解

    C語言內存管理詳解,很不錯的一份資料.
    發表于 08-06 23:14

    提升日志管理的開源軟件

    開源日志管理最全對比
    發表于 04-26 16:59

    DevOps擁抱日志管理系統ELK623淺析

    DevOps之擁抱日志管理系統ELK623
    發表于 07-15 06:06

    Spring事務管理詳解說明

    Spring事務管理詳解
    發表于 05-20 13:46

    系統日志管理

    系統日志管理
    發表于 05-25 14:58

    企業級的LInux系統日志管理

    企業級LInux系統日志管理
    發表于 05-29 11:33

    網絡取證日志分布式安全管理

    提出了一種網絡取證日志分布式安全管理方法,通過日志代理和管理網關將分散的異構的日志收集并存儲到多個管理
    發表于 05-11 20:12 ?10次下載

    詳解MySQL三大日志的作用

    MySQL日志 主要包括錯誤日志、查詢日志、慢查詢日志、事務日志、二進制日志幾大類。其中,比較重
    的頭像 發表于 07-22 14:44 ?1579次閱讀

    如何使用journalctl來讀取、監控和分析Linux中的日志

    Systemd是大多數主要Linux發行版的默認的初始化程序。Systemd的主要功能之一收集日志以及為分析日志提供工具。
    的頭像 發表于 12-23 16:44 ?5231次閱讀

    linux日志管理journalctl命令

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

    日志篇:模組日志總體介紹

    ?今天我們學習合宙模組日志總體介紹,以下進入正文。 一、本文討論的邊界 本文是對合宙 4G 模組, 以及 4G+GNSS 模組的日志功能的總體介紹。通過日志,可以對研發過程中,以及模組運行過程中
    的頭像 發表于 10-24 07:16 ?525次閱讀
    <b class='flag-5'>日志</b>篇:模組<b class='flag-5'>日志</b>總體介紹

    Linux日志管理經驗總結

    日志內容,合理的日志內容(日志錨點,內容格式,等)可以為應用服務的執行記錄、問題排查提供最有力的幫助。
    的頭像 發表于 10-24 17:36 ?495次閱讀

    Linux高頻命令終極指南

    -f journalctl /usr/bin/bash 4、管理日志 # 空間使用 journalctl --disk-usage # 保留500M
    的頭像 發表于 12-05 16:53 ?501次閱讀

    Linux實時查看日志的四種命令詳解

    如何在Linux中實時查看日志文件的內容?那么有很多實用程序可以幫助用戶在文件更改或不斷更新時輸出文件的內容。在Linux中實時顯示文件內容的常用命令是tail命令(有效地管理文件)。 1.
    的頭像 發表于 01-13 10:45 ?2822次閱讀
    Linux實時查看<b class='flag-5'>日志</b>的四種命令<b class='flag-5'>詳解</b>
    主站蜘蛛池模板: 香蕉久久高清国产精品免费 | 欧美伊久线香蕉线新在线 | 成人免费看黄网站无遮挡 | 欧美成人区 | 久久精品免费观看久久 | 国产成人教育视频在线观看 | 两人性世界 | 亚洲专区一 | 久久草在线精品 | 三级亚洲 | 天天爽夜夜爽视频 | 九色视频在线播放 | 黄色大秀视频 | 久久噜噜噜久久亚洲va久 | 四虎影院免费观看视频 | 激情伦成人综合小说 | 一级做性色a爱片久久片 | 少妇被按摩 | 亚洲阿v天堂2018在线观看 | 日韩卡1卡2卡三卡四卡二卡免 | 中文永久免费看电视网站入口 | 伊人久久大杳蕉综合大象 | 女同国产 | 欧美tube44videos| 性夜影院午夜看片 | 亚洲人成伊人成综合网久久 | 成人免费午间影院在线观看 | 好深好爽视频 | 一区二区三区电影 | 国产片翁熄系列乱在线视频 | 亚洲欧美v视色一区二区 | 国产福利vr专区精品 | 女人张开腿等男人桶免费视频 | 啪啪日韩| 欧美日韩一区二区三区视视频 | 天天综合色天天综合网 | 成人欧美一区二区三区白人 | 一色屋精品免费视频 视频 一色屋免费视频 | aa在线免费观看 | 香蕉久久精品 | 黑人一区二区三区中文字幕 |