journald.conf 中文手册
http://www.jinbuguo.com/systemd/journald.conf.html
名称
journald.conf, journald.conf.d — 日志服务配置文件
大纲
/etc/systemd/journald.conf
/etc/systemd/journald.conf.d/*.conf
/run/systemd/journald.conf.d/*.conf
/usr/lib/systemd/journald.conf.d/*.conf
描述
这些文件用于配置系统日志服务 systemd-journald.service(8) 的行为。
配置目录及其优先级
默认设置是在编译期间确定的, 所以仅在确实需要修改默认设置的情况下 才需要使用配置文件。位于 /etc/systemd/
目录中的初始配置文件 仅包含了展示选项默认值的注释, 目的在于方便系统管理员查看和直接修改。
如果软件包想要自定义某些默认设置, 那么必须将自定义的配置片段安装到 /usr/lib/systemd/*.conf.d/
目录中。 /etc/
目录仅供系统管理员使用。 系统管理员 可以利用下面的逻辑来覆盖软件包的默认配置: 主配置文件最先被读取, 优先级也最低。 所有配置目录(*.conf.d/
)中的配置片段 都会覆盖主配置文件中的设置。 所有配置目录(*.conf.d/
)中的配置文件, 无论其位于哪个目录中, 统一按照文件名的字典顺序排列。 如果多个配置文件都设置了同一个选项, 那么以文件名最靠后(字典顺序)的那个配置文件中的设置为准。 为了便于排序, 建议给配置目录中的所有文件名都加上两位数字的前缀。
如果想要禁用软件包发行商自带的某个配置文件, 那么最佳的做法是在 /etc/
目录中创建一个 指向 /dev/null
的同名符号链接, 即可彻底禁用自带的同名配置文件。
选项
所有选项都位于 "[Journal]
" 小节:
- Storage=
-
在哪里存储日志文件: "
volatile
" 表示仅保存在内存中, 也就是仅保存在/run/log/journal
目录中(将会被自动按需创建)。 "persistent
" 表示优先保存在磁盘上, 也就优先保存在/var/log/journal
目录中(将会被自动按需创建), 但若失败(例如在系统启动早期"/var"尚未挂载), 则转而保存在/run/log/journal
目录中(将会被自动按需创建)。 "auto
"(默认值) 与 "persistent
" 类似, 但不自动创建/var/log/journal
目录, 因此可以根据该目录的存在与否决定日志的保存位置。 "none
" 表示不保存任何日志(直接丢弃所有收集到的日志), 但日志转发(见下文)不受影响。 默认值是 "auto
" - Compress=
-
默认值"yes"表示: 将大于特定阈值的对象存储到日志中时先压缩再存储。
- Seal=
-
默认值"yes"表示:如果存在一个"sealing key"(由 journalctl(1) 的
--setup-keys
命令创建), 那么就为所有持久保存的日志文件启用 FSS(Seekable Sequential Key Generators)保护, 以避免日志文件被恶意或无意的修改。 - SplitMode=
-
设置如何按用户分割日志文件,以实现不同的访问控制策略(日志守护进程会确保每个用户都能读取自己的日志文件)。 注意,仅分割持久保存的日志(
/var/log/journal
),内存中的日志永不分割(/run/log/journal
)。 可以使用的分割策略如下: "uid
" 表示每个用户都有自己专属的日志文件(无论该用户是否拥有登录会话), 但系统用户的日志依然记录到系统日志中。这是默认值。 "none
" 表示不对日志文件进行分隔,所有日志都将记录到系统日志中。 这意味着非特权用户根本无法读取属于自己的日志信息。 -
RateLimitIntervalSec=
, RateLimitBurst= -
用于限制日志的生成速度(设为零表示不作限制)。
RateLimitIntervalSec=
用于设置一个时间段长度,默认值是30秒。RateLimitBurst=
用于设置一个正整数,表示消息条数,默认值是1000条。 含义是在RateLimitIntervalSec=
时间段内, 每个服务最多允许产生RateLimitBurst=
数量(条数)的日志。 在同一个时间段内,超出数量限制的日志将被丢弃,直到下一个时间段才能再次开始记录。 对于所有被丢弃的日志消息,仅用一条类似"xxx条消息被丢弃"的消息来代替。 这个限制是针对每个服务的限制,一个服务超限并不会影响到另一个服务的日志记录。RateLimitIntervalSec=
可以使用下面的时间单位:"ms
", "s
", "min
", "h
", "us
" -
SystemMaxUse=
,SystemKeepFree=
,SystemMaxFileSize=
,SystemMaxFiles=
,RuntimeMaxUse=
,RuntimeKeepFree=
,RuntimeMaxFileSize=
, RuntimeMaxFiles= -
限制日志文件的大小上限。 以 "
System
" 开头的选项用于限制磁盘使用量, 也就是/var/log/journal
的使用量。 以 "Runtime
" 开头的选项用于限制内存使用量, 也就是/run/log/journal
的使用量。 以 "System
" 开头的选项仅在/var/log/journal
目录确实存在且可写时才有意义。 但以 "Runtime
" 开头的选项永远有意义。 也就是说, 在系统启动早期/var
尚未挂载时、 或者系统管理员禁止在磁盘上存储日志的时候, 仅有 "Runtime
" 开头的选项有意义。 journalctl 与 systemd-journald 工具会忽略日志目录中所有 后缀名不等于 ".journal
" 或 ".journal~
" 的文件。 换句话说, 日志目录中不应该存在后缀名不等于 ".journal
" 或 ".journal~
" 的文件, 因为这些文件永远不会被清理。SystemMaxUse=
与RuntimeMaxUse=
限制全部日志文件加在一起最多可以占用多少空间。SystemKeepFree=
与RuntimeKeepFree=
表示除日志文件之外,至少保留多少空间给其他用途。 systemd-journald 会同时考虑这两个因素, 并且尽量限制日志文件的总大小,以同时满足这两个限制。SystemMaxUse=
与RuntimeMaxUse=
的默认值是10%空间与4G空间两者中的较小者;SystemKeepFree=
与RuntimeKeepFree=
的默认值是15%空间与4G空间两者中的较大者; 如果在 systemd-journald 启动时, 文件系统即将被填满并且已经超越了SystemKeepFree=
或RuntimeKeepFree=
的限制,那么日志记录将被暂停。 也就是说,如果在创建日志文件时,文件系统有充足的空闲空间, 但是后来文件系统被其他非日志文件过多占用, systemd-journald 只会立即暂停日志记录, 但不会删除已经存在的日志文件。SystemMaxFileSize=
与RuntimeMaxFileSize=
限制单个日志文件的最大体积, 到达此限制后日志文件将会自动滚动。 默认值是对应的SystemMaxUse=
与RuntimeMaxUse=
值的1/8 , 这也意味着日志滚动默认保留7个历史文件。日志大小的值可以使用以1024为基数的 K, M, G, T, P, E 后缀, 分别对应于 1024, 1024², ... 字节。
SystemMaxFiles=
与RuntimeMaxFiles=
限制最多允许同时存在多少个日志文件, 超出此限制后, 最老的日志文件将被删除, 而当前的活动日志文件不受影响。 默认值为100个。 - MaxFileSec=
-
日志滚动的时间间隔。 通常并不需要使用基于时间的日志滚动策略, 因为由
SystemMaxFileSize=
与RuntimeMaxFileSize=
控制的基于文件大小的日志滚动策略 已经可以确保日志文件的大小不会超标。 默认值是一个月, 设为零表示禁用基于时间的日志滚动策略。 可以使用 "year
", "month
", "week
", "day
", "h
", "m
" 时间后缀, 若不使用后缀则表示以秒为单位。 - MaxRetentionSec=
-
日志文件的最大保留期限。 当日志文件的最后修改时间超过此期限后将被删除。 默认值零表示不使用基于时间的日志删除策略。 通常并不需要使用基于时间的日志删除策略,因为由
SystemMaxUse=
与RuntimeMaxUse=
控制的基于文件大小的日志滚动策略 已经可以确保日志文件的大小不会超标。 可以使用 "year
", "month
", "week
", "day
", "h
", "m
" 时间后缀, 若不使用后缀则表示以秒为单位。 - SyncIntervalSec=
-
向磁盘刷写日志文件的时间间隔,默认值是五分钟。 刷写之后,日志文件将会处于离线(OFFLINE)状态。 注意,当接收到 CRIT, ALERT, EMERG 级别的日志消息后, 将会无条件的立即刷写日志文件。 因此此设置仅对 ERR, WARNING, NOTICE, INFO, DEBUG 级别的日志消息有意义。
-
ForwardToSyslog=
,ForwardToKMsg=
,ForwardToConsole=
, ForwardToWall= -
ForwardToSyslog=
表示是否将接收到的日志消息转发给传统的 syslog 守护进程,默认值为"no"。 如果设为"yes",但是没有任何进程监听对应的套接字,那么这种转发是无意义的。 此选项可以被内核命令行选项"systemd.journald.forward_to_syslog=
"覆盖。ForwardToKMsg=
是否将接收到的日志消息转发给内核日志缓冲区(kmsg),默认值为"no"。 此选项可以被内核命令行选项"systemd.journald.forward_to_kmsg=
"覆盖。ForwardToConsole=
是否将接收到的日志消息转发给系统控制台,默认值为"no"。 如果设为"yes",可以通过下面的TTYPath=
选项指定转发目标。 此选项可以被内核命令行选项"systemd.journald.forward_to_console=
"覆盖。ForwardToWall=
是否将接收到的日志消息作为警告信息发送给所有已登录用户,默认值为"yes"。 此选项可以被内核命令行选项"systemd.journald.forward_to_wall=
"覆盖。 -
MaxLevelStore=
,MaxLevelSyslog=
,MaxLevelKMsg=
,MaxLevelConsole=
, MaxLevelWall= -
MaxLevelStore=
设置记录到日志文件中的最高日志等级,默认值为"debug
";MaxLevelSyslog=
设置转发给传统的 syslog 守护进程的最高日志等级,默认值为"debug
";MaxLevelKMsg=
设置转发给内核日志缓冲区(kmsg)的最高日志等级,默认值为"notice
";MaxLevelConsole=
设置转发给系统控制台的最高日志等级,默认值为"info
";MaxLevelWall=
设置作为警告信息发送给所有已登录用户的最高日志等级,默认值为"emerg
"; 这些选项的值可以设置为日志等级的名称, 也可以设置为日志等级的数字: "emerg
"(0), "alert
"(1), "crit
"(2), "err
"(3), "warning
"(4), "notice
"(5), "info
"(6), "debug
"(7) 。 所有高于设定等级的日志消息都将被直接丢弃, 仅保存/转发小于等于设定等级的日志消息。 - TTYPath=
-
指定
ForwardToConsole=yes
时所有使用的控制台TTY, 默认值是/dev/console
日志转发
有两种不同的日志转发方法: (1)通过套接字文件(/run/systemd/journal/syslog
) 可以将收集到的日志消息 立即转发给套接字的监听进程(传统的 syslog 守护进程)。 此方法受 ForwardToSyslog=
选项的控制。 (2)日志接收进程作为客户端运行,就像 journalctl(1) 一样读取日志文件。 因此,此方法在 Storage=none
时无效。 此方法不能实时读取日志消息, 但是可以读取先前保存的日志消息(例如在系统启动完成之后读取系统启动早期的日志消息)。 此方法还可以读取到完整的日志元数据。 此方法一般无法读取当前最新的日志消息, 只能读取已经被记录到文件系统上的日志消息。 注意,syslog 守护进程通常使用此方法(而不是前一种方法), 因此 Storage=
选项(而不是 ForwardToSyslog=
选项) 不应该设为"none"。
参见
systemd(1), systemd-journald.service(8), journalctl(1), systemd.journal-fields(7), systemd-system.conf(5)
journald.conf 中文手册相关推荐
- phpredis中文手册——《redis中文手册》 php版
redis中文手册:http://readthedocs.org/docs/redis/en/latest/ 本文是参考<redis中文手册>,将示例代码用php来实现,注意php-red ...
- systemd-run 中文手册
systemd-run 中文手册 [金步国]http://www.jinbuguo.com/systemd/systemd-run.html 目录 版权声明 其他作品 联系方式 名称 大纲 描述 选项 ...
- php redis中文手册——《redis中文手册》 php版
redis中文手册:http://readthedocs.org/docs/redis/en/latest/ 本文是参考<redis中文手册>,将示例代码用php来实现,注意php-red ...
- phpredis中文手册(使用方法)——《redis中文手册》 php版
redis中文手册:http://readthedocs.org/docs/redis/en/latest/ 本文是参考<redis中文手册>,将示例代码用php来实现,注意php-red ...
- phpredis中文手册《redis中文手册》php版
本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): php ...
- (转)Linux Kernel核心中文手册
转自糖蒜的小屋http://blog.csdn.net/seastar_pickle/category/101975.aspx?PageNumber=2 Hardware Basic( 硬件基础知识 ...
- pgpool-II 4.3 中文手册 - 入门教程
本章解释了如何开始使用 Pgpool-II. 安装 在本节中,我们假设您已经安装了 Pgpool-II 与 PostgreSQL 集群. 你的第一个复制(Replication) 在本节中,我们将解释 ...
- 【转载】man rsync翻译(rsync命令中文手册)
本文转自:博客园-骏马金龙.作者是个狠人,把手册每个命令都翻译了一遍.翻译不易,特打赏了作者1元RMB作为感谢,哈哈.:-) 看到原译文这么长,心里有些触动.想起最近看的<大师谈游戏设计:创意与 ...
- man rsync翻译(rsync命令中文手册)
本文为命令rsync的man文档翻译,几乎所有的选项都翻译了,另外关于筛选规则部分只翻译了一部分.由于原文很多地方都比较啰嗦,所以译文中有些内容可能容易让国人疑惑,所以我个人在某些地方加上了注释.若有 ...
最新文章
- SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
- Teamviewer 远程ssh命令行更改密码启动
- 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载
- 面向对象基础回顾(二)
- 单行子查询返回多个行_sql多表查询练习,习题总结
- 抖音只能上下滑动吗_抖音:如何靠评论,轻松涨粉十万
- java 折线图 放大 缩小_可拖拉放大缩小HC折线图 | JShare
- java抢购防止多次请求_springboot项目中接口防止恶意请求多次
- envi安装成功教程 附下载地址
- 计算机系统动态库修复,win10系统提示dll动态链接库出现故障修复的处理步骤
- ffmpeg可支持的编码器、解码器、封装格式、网络协议
- 华为浏览器如何进入阅读模式_华为浏览器有阅读模式吗
- python 16进制转中文_求助~ 16进制数据转不了汉字
- 麻省理工大学公开课学习笔记【1、算法分析】
- johnny仔向您推荐的三个专业微信交流QQ群,欢迎加入!
- 是时候,给你们自由了
- 承先启后 - 2021 年开源社顾问委员会年度会议圆满结束
- 类型初始值设定项引发异常-C#
- 澳洲服务器拳头账号怎么注册,云顶之弈手游澳服账号怎么注册 澳洲服拳头账号注册方法分享...
- 大白菜PE怎么备份还原系统?