在Systemd出現之前,Linux系統及各應用的日志都是分別管理的,
Systemd開始統一管理了所有Unit的啟動日志,這樣帶來的好處就是可以只用一個 journalctl命令,查看所有內核和應用的日志。
1.Journal默認配置文件路徑
/etc/systemd/journald.conf
2.Journal配置文件
mkdir /var/log/journal # 持久化保存日志的目錄 mkdir /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 # 最大占用空間 10G SystemMaxUse=10G # 單日志文件最大 200M SystemMaxFileSize=200M # 日志保存時間 2 周 MaxRetentionSec=2week # 不將日志轉發到 syslog ForwardToSyslog=no EOF
systemctl restart systemd-journald
3.Journal日常操作
== 查看內核日志 $ journalctl -k == 查看指定服務日志 $ journalctl -u docker.serivce == 查看指定日期日志 $ journalctl --since="2018-09-21 10:21:00" -u docker $ journalctl --since="2018-09-21 10:21:00" --until="2018-09-21 10:22:00" -u docker == 查看指定級別日志 $ journalctl -p 3 -u docker.service 操作系統提供了從0 (emerg) 到 7 (debug) 一共7個級別的日志,7個級別的含義為: 0: emerg 1: alert 2: crit 3: err 4: warning 5: notice 6: info 7: debug == 查看日志占用的磁盤空間 $ journalctl --disk-usage == 設置日志占用的空間 $ journalctl --vacuum-size=500M == 設置日志保存的時間 $ journalctl --vacuum-time=1month