文章目录
一、journal命令
[查看日志(内存里的日志,重启后就没有了)]
journalctl -n 数字 | 日志的最新几条 |
---|---|
journalctl --since “2020-7-26 15:02:34” | 显示下午三点02之后的日志 |
- -until “2020-7-26 15:04:25” | 到下午三点04的日志 |
journalctl -F PRIORITY | 查看可控日志级别 |
journalctl -u sshd | 指定查看服务 |
journalctl --disk-usage | 查看日志大小 |
journalctl --vacuum-size=1G | 设定日志存放大小 |
journalctl --vacuum-time=1W | 日志在系统中最长存放时间 |
journalctl -f | 监控日志 |
-
journalctl -n 数字 :显示日志的最新几条
-
journalctl --since “2020-7-26 15:02:34” 显示下午三点02之后的日志
-
journalctl --until “2020-7-26 15:04:25” 到下午三点04的日志
-
journalctl -F PRIORITY 查看可控日志级别
-
journalctl -u sshd 指定查看服务
-
journalctl --disk-usage 查看日志大小
-
journalctl --vacuum-size=1G 设定日志存放大小
-
journalctl --vacuum-time=1w/d/h 日志在系统中最长存放时间
-
journalctl -f 监控日志 (实时监控)
journalctl -o
[设定日志的显示方式]
short | 经典模式显示日志 |
---|---|
verbose | 显示日志的全部字节 |
export | 适合传出和备份的二进制格式 |
json | js格式显示输出 |
-
journalctl -o short 经典模式显示日志
-
journalctl -o verbose 显示日志的全部字节
-
journalctl export 适合传出和备份的二进制格式
-
journalctl json js格式显示输出
journalctl -p
[显示指定级别的日志]
级别:-p 后跟的命令 | 作用 |
---|---|
0: emerge | 系统的严重问题日志 |
1 :alert | 系统中立即要更改的信息 |
2 :crit | 严重级别会导致系统软件不能正常工作 |
3 : err | 程序报错 |
4 :warning | 程序警告 |
5 :notice | 重要信息的普通日志 |
6 :info | 普通信息 |
7 :debug | 程序拍错信息 |
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service
二、用journald 服务永久存放日志
查看日志 (日志保存时间为21:42之后)
重启系统后再次查看日志 (显示的是22:37之后的)
可以看到日志是不会被保存下来的(只能看到重启之后的日志)
系统中默认日志在/run/log/journal 中,默认方式在系统重启后日志会被清理掉
如何永久存放日志呢?
请完成以下操作:
此时你会发现新建目录底下有一串码,与我们这台主机的机器码相同(意味着它存放的日志就是这台主机的)
接下来重新启动 systemd-journald.service 此服务
(当此服务重启时,日志存放路径会被指定到新建的目录/var/log/journal 里)
测试
在完成以上操作后,我们在23:19:06重启系统
三、rsyslog
[采集日志] (日志采集工具)
服务名称: rsyslog.service
日志存放:
/var/log/messages | 系统服务日志,常规信息,服务报错 |
---|---|
/var/log/secure | 系统认证信息日志 |
/var/log/maillog | 系统邮件日志信息 |
/var/log/cron | 系统定时任务信息 |
/var/log/boot.log | 系统启动日志信息 |
配置文件: /etc/rsyslog.conf
日志类型 | 日志级别 | ||
---|---|---|---|
auth | 用户认证 | debug | 程序排错信息 |
authpriv | 服务认证 | info | 程序常规运行信息 |
cron | 时间任务 | notice | 重要信息的普通日志 |
kern | 内核类型 | waring | 程序警告 |
邮件 | err | 程序报错 | |
news | 系统更新信息 | crit | 严重级别会导致系统软件不能正常工作 |
user | 用户 | alert | 系统中立即要更改的信息 |
emerg | 系统的严重问题日志 | ||
none | 不采集 |
- 所有的日志类型和日至级别都放在/var/log/lyx文件里
若没有此文件,重启rsyslog后会自动生成此文件
远程登陆此台主机时,/var/log/lyx会显示服务认证信息以及用户认证信息
2. 除了服务认证信息,其他所有日志类型和级别都放在/var/log/lyx里
重启服务后,在远程登陆时,此时只有用户认证信息,没有服务认证信息
3. 除了服务认证信息、用户认证信息,其他日志类型和级别都采集到/var/log/lyx里
此时远程登陆后,/var/log/lyx里就没有服务认证信息和用户认证信息了
配置文件里的默认格式:
格式为 : 时间 主机名 来源 内容
自定义日志采集格式
我们设定一个 ip 时间 来源 内容 的格式
WESTOS_FORMAT | 格式名称 |
---|---|
%FROMHOST-IP% | 日志来源主机IP |
%timegenerated% | 日志生成时间 |
%syslogtag% | 日志生成服务 |
%msg% | 日志内容 |
\n | 换行 |
此时就会发现采集格式改变为:ip 时间 来源 内容
若想所有文件的采集格式都按照LYX_LOG格式
可以设定默认日志
module(load=“builtin:omfile” Template=“LYX_LOG”) | 默认采用格式 |
---|
就会发现其他文件的格式也变成了 ip 时间 来源 内容
lyx_good 192.168.0.5(存放日志作为日志接受端,所有人日志都存放到此台主机 )
localhost:192.168.0.205 ( 作为日志发送端)
日志发送端:
vim /etc/rsyslog.conf
@ | 表示使用udp传输日志 |
---|---|
@@ | 表示使用tcp传输日志 |
@192.168.0.5 | 把本机日志用udp的传输方式发送到192.168.0.5主机 |
systemctl restart rsyslog.service
日志接收端:
systemctl restart rsyslog.service
systemctl disable --now firewalld
注意:在接收端一定要记得关火墙,否则日志发送来时会被挡掉!!
测试:
在192.168.0.205 (日志发送端)中 做一系列操作产生的日志会同步发送给192.168.0.5 (日志接收端)!5主机在对205发来的日志进行各类型的归类放置。
四、timedatectl
timedatectl set-time “2020-xx-xx xx:xx:xx” | 设定系统时间 |
---|---|
timedatectl list-timezones | 显示系统的所有时区 |
timedatectl set-timezone “Asia/Shanghai” | 设定系统时区 |
timedatectl set-local-rtc 0/1 | 设定系统时间计算方式 |
0表示使用utc时间计算方式 |
-
timedatectl set-time “2020-07-22 12:13:14”
设定系统时间为2020年7月22日中午12点13分14秒
-
timedatectl list-timezones 显示系统的所有时区
-
timedatectl set-timezone “Asia/Shanghai” 设定系统时区
-
timedatectl set-local-rtc 0/1 设定系统时间计算方式
五、时间同步服务
- 服务名称: chronyd.service
- 配置文件: /etc/chrony.conf
被同步(服务)端:
vim /etc/chrony.conf
客户端:
vim /etc/chrony.conf
在文件里输入以下命令,表示 立刻同步192.168.0.205主机的时间
检测方式:chronyc sources -v
- GET