1./var/log/messages :最主要的文件,基本都在这个里面
2./var/log/boot.log:启动过程的log
3/var/log/dmesg:开机是有关硬件的检测信息
4./var/log/secure:账号密码错误会放在这个文件下
5.或者一些服务自己的日志文件,/var/log/httpd
实现日志服务,只要需要以下几个东西:
systemd-journald.service:最主要的讯息收受者,由 systemd 提供的;
rsyslog.service:主要日志系统与网络等服务的讯息;
logrotate:主要在进行日志文件的轮替功能。
rsyslog.service
/etc/rsyslog.conf
首先启动rsyslog.service的服务,这个服务有个配置文件/etc/rsyslog.conf这个里面定义了
(1)什么服务 (2)的什么等级讯息 (3)需要被记录在哪里(设备或文
件)” 这三个咚咚,所以设置的语法会是这样:
服务名称[.=!]讯息等级 讯息记录的文件名或设备或主机
# 下面以 mail 这个服务产生的 info 等级为例:
mail.info /var/log/maillog_info
# 这一行说明:mail 服务产生的大于等于 info 等级的讯息,都记录到
# /var/log/maillog_info 文件中的意思。
所以通过这个文件可以知道我们要找的Log是放在哪个文件里的,就可以查看那个文件
log有7个等级
7 debug 用来 debug (除错) 时产生的讯息数据;
6 info 仅是一些基本的讯息说明而已;
5 notice 虽然是正常信息,但比 info 还需要被注意到的一些信息内
容;
4 warning(warn)
警示的讯息,可能有问题,但是还不至于影响到某个 daemon
运行的信息;基本上, info, notice, warn 这三个讯息都是在告
知一些基本信息而已,应该还不至于造成一些系统运行困扰;
3 err(error)
一些重大的错误讯息,例如配置文件的某些设置值造成该服务
服法启动的信息说明, 通常借由 err 的错误告知,应该可以了
解到该服务无法启动的问题呢!
2 crit 比 error 还要严重的错误信息,这个 crit 是临界点 (critical)
的缩写,这个错误已经很严重了喔!
1 alert 警告警告,已经很有问题的等级,比 crit 还要严重!
0 emerg(panic)
lograte 日志轮替
这些文件是根据+a模式,时间到了以后就会产生新的文件,比如messages.1,messages.2
messages里面的永远是最新的,然后是messages.1然后是messages.2
/etc/cron.daily/logrotate
/etc/logrotate.conf
这个里面配置文件定义了,多久轮替一次,最大保留多少个文件
logrotate -v /etc/logrotate.conf
用上面这个命令执行logrotate
systemd-journald.service
Log记在内存里,重启以后,就会重新记录
journaldctl查看Log
只列出crond service最新的10条log
[root@study ~]# journalctl _SYSTEMD_UNIT=crond.service -n 10
[root@study ~]# journalctl -xe
-x加上一些explanation
-e直接到最后一页
不加e的是从第一页开始显示的,要一页一页翻。
选项与参数:
默认会秀出全部的 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 规范的服务相对序号来调用出正确的数据!