• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

linux centos7 systemd-journald 日志保存方式 相关配置

日志设置

在 Systemd 出现之前,Linux系统及各应用的日志都是分别管理的,Systemd 开始统一管理了所有Unit的启动日志,这样带来的好处就是可以只用一个 journalctl 命令,查看所有内核和应用的日志。

centos7 使用 systemd-journald 做日志中心库,使用 rsyslog 来持久化日志,使用 logrotate 来轮转日志文件。

Journal默认配置文件路径:/etc/systemd/journald.conf

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

日志相关操作

== 查看内核日志
$ 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


0
0
下一篇:kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。