Journal 日志管理

在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

 

posted @ 2019-04-22 17:49  Vincen_shen  阅读(3532)  评论(0编辑  收藏  举报