# [Linux系统管理员应了解的journalctl知识] 65https://www.cn blogs.com/coco wool/p/systemd _ journal _ log.html ]
在Systemd出现之前,Linux系统和每个APP应用程序的日志是分开管理的,但Systemd现在统一管理所有Unit的启动日志。 这样做的好处是,一个journalctl命令可以查看所有内核和APP应用程序的日志。
#1 .基础用法
### 1.1显示所有日志(默认显示此次启动的所有日志) ) ) )。
~~~
[root@devops-101 ~]# journalctl
~~~
也可以查看这次启动的所有日志
~~~
[ root @ devo PS-101~~ ] # journal CTL-b
~~~
### 1.2查看内核日志
~~~
[ root @ devo PS-101~~ ] # journal CTL-k
~~~
### 1.3查看指定时间的日志
使用--since和--until选项,可以过滤任何时间限制,以显示指定条件之前、之后或之间的日志。
~~~
[ root @ devo PS-101~] # journal CTL-- since=' 2018-09-2110336021336000 '
~~~
查询期间内的日志。
~~~
[ root @ devo PS-101~~ ] # journal CTL-- since=' 2018-09-2110336021336000 '-- until=' 2018-09-2110360336023333333
~~~
### 1.4按主题过滤筛选
**根据服务过滤*
~~~
[ root @ devo PS-101~~ ] # journal CTL-ukubelet.service
[ root @ devo PS-101~~ ] # journal CTL-ukubelet
~~~
**按进程ID查询*
如果进程使用systemd管理日志,则可以使用以下命令搜索与进程对应的日志:
~~~
[ root @ devo PS-101~~ ] # journal CTL _ PID=1
~~~
Systemd journal中有许多可用于过滤的字段,您可以在` man systemd.journal-fields '中查看可用于过滤的所有字段。 有关用于过滤的字段的信息,可以使用`-F `参数显示可用于过滤的所有值,例如` journalctl -F _PID '。
**按优先顺序*
操作系统提供7个级别的日志(从0(emerg )到7 ),可以与-p参数配合显示各自对应级别的日志。
~~~
[ root @ devo PS-101~~ ] # journal CTL-P5-ukubelet
~~~
第七级的意思是
*0:埃玛
* 1:警报
* 2:客户端
* 3: err
* 4:警告
* 5:通告
* 6: info
* 7:调试
### 1.5显示输出的调整
缺省情况下,日记帐输出处于分页模式,用户可以调整在终端上显示的内容。 如果不需要分页,则必须添加`--no-pager `参数。
以Json格式输出*
~~~
[ root @ devo PS-101~~ ] # journal CTL-P5-- no-pager-OJ son
~~~
可以使用`-o参数将输出设置为json格式。 这对接收json格式的其他日志分析工具非常有用。
~~~
[ root @ devo PS-101~~ ] # journal CTL-P5-- no-pager-OJ son-pretty
~~~
` json-pretty '使管理员非常容易阅读日志。
支持的格式包括:
* cat:仅显示信息字段本身。
* export:是适用于传输或备份的二进制格式。
* json:标准JSON,每行一项。
* json-pretty: JSON格式适合人类的阅读习惯。
* json-sse: JSON格式。 打包为与服务器- sent事件兼容。
* short:的默认syslog类输出格式。
*短iso :的默认格式突出显示ISO 8601壁挂钟的时间戳。
* short-monotonic:的默认格式提供常规时间戳。
*短precise :的默认格式提供微秒级精度。
* verbose:显示此条目中可用的所有日记账字段。 这包括通常在内部隐藏的字段。
### 1.6活动日志跟踪
日记账CTL也支持类似tail的功能,如果指定`-n `参数显示最近的几行,则默认值为10行,并且`-f `参数将持续监视日志输出。
#2.维护
确认### 2.1日志消耗的磁盘空间
~~~
[ root @ devo PS-101~~ ] # journal CTL-- disk-usage
archivedandactivejournalstakeup 8.0 mon磁盘。
~~~
### 2.2设置日志占用的区域
~~~
root @ devo PS-101~~ ] # journal CTL-- vacuum-size=500 m
Vacuuming done,freed0bofarchivedjournalsondisk。
~~~
### 2.3设置日志保存的时间
~~~
[ root @ devo PS-101~~ ] # journal CTL-- vacuum-time=1month
Vacuuming done,freed0bofarchivedjournalsondisk。
~~~
#3:配置
在上述一些维护行为中,还可以配置在`/etc/systemd/journald.conf '中包含配置文件的参数设置。
*存储=永久
* compress=是
* seal=是
*剥离模式=uid
* SyncIntervalSec=5m
*速率限制间隔=30s
*速率限制总线=1000
* SystemMaxUse=
* SystemKeepFree=
*系统最大文件大小=
* RuntimeMaxUse=
* RuntimeKeepFree=
*运行时最大文件大小=
* MaxRetentionSec=
* MaxFileSec=1month
* ForwardToSyslog=yes
* ForwardToKMsg=no
* ForwardToConsole=no
* ForwardToWall=yes
* tty path=/dev /控制台
*最大级别存储=debug
*最大级别系统日志=调试
* MaxLevelKMsg=notice
*最大级别控制台=info
*最大级别墙=emerg