过去只有
rsyslogd
的年代中,由于
rsyslogd
必须要开机完成并且执行了
rsyslogd
这个
daemon
后,登录文件才会开始记录。所以,核心还得要自己产生一个
klogd
的服务,
才能½系统在开机过
程、启动服务的过程中的信息记录下来,然后等
rsyslogd
启动后才传送给它来处理~
现在有了
systemd
之后,由于这玩意儿是核心唤醒的,然后又是第一支执行的软件,它可以主动呼
½
systemd-journald
来协助记载登录文件~
因此在开机过程中的所有信息,包括启动服务与服务若
启动失败的情况等等,都可以直½被记录到
systemd-journald
里头去!
不过
systemd-journald
由于是使用于内存的登录文件记录方式,因此重新启动过后,开机前的登录文
件信息当然就不会被记载了。
为此,我们还是½议启动
rsyslogd
来协助分类记录!也就是说,
systemd-journald
用来管理与查询这次开机后的登录信息,而
rsyslogd
可以用来记录以前及现在的所
以数据到磁盘文件中,方便未来½行查询喔!
Tips
虽然
systemd-journald
所记录的数据其实是在内存中,但是系统还是利用文件的型态
½它记录到
/run/log/
底下!
不过我们从前面几章也知道,
/run
CentOS 7
其实是内存内的数据,所以重新启
动过后,这个
/run/log
底下的数据当然就被刷新,旧的当然就不再存在了!
18.4.1
使用
journalctl
观察登录信息
那么
systemd-journald.service
的数据要如何½出来查阅呢?很简单!就透过
journalctl
即可!让我们
来瞧瞧这个指令可以做些什么事?
[root@study ~]#
journalctl [
-
nrpf] [
--
since TIME] [
--
until TIME] _optional
选项
参数
预设会
秀出全部的
log
容,
从旧
出到最新的
-
n
:秀出最½的几行的意思~找最新的信息相
有用
-
r
:反向
出,
最新的
出到最
-
p
:秀出后面所½的
息重要性排序!
请参
考前一小
½
rsyslogd
信息
-
f
tail
-
f
的功能,持
续显
journal
日志的
(
实时监测时
助!
)
--
since
--
until
始与
½
束的
时间
出而已
_SYSTEMD_UNIT=unit.service
:只
unit.service
的信息而已
_COMM=bash
:只
出与
bash
的信息
_PID=pid
:只
PID
号码
的信息
_UID=uid
:只
UID
uid
的信息
SYSLOG_FACILITY=[0
-
23]
:使用
syslog.h
范的服
号来
呼½出正确的
据!
范例一:秀出目前系
中所有的
journal
日志
[root@study ~]#
journalctl
--
Logs
begin at Mon 2015
-
08
-
17 18:37:52 CST, end at Wed 2015
-
08
-
19 00:01:01 CST.
--