【实验环境】
俩台可以互相通信的虚拟机
rhel7_node1:192.168.43.20
rhel8_node1:192.168.43.11
一、journald
服务名称:systemd-journald.service
查询日志:journalctl
默认日志存放路径:/run/log
二、journalctl命令的用法
journalctl
journalctl -n 3 ##显示最新3行的日志
journalctl - -since “2020-02-14 20:05:00” ##显示从“2020-02-14 20:05:00”开始后的日志
journalctl - -until “2020-02-14 20:18:00” ##显示到“2020-02-14 20:18:00”为止的日志
journalctl -o ##设定日志的显示方式
journalctl -o short | 经典模式显示 |
---|---|
journalctl -o verbose | 显示日志的全部字节 |
journalctl -o export | 适合传出和备份的二进制格式 |
– | – |
journalctl -o json | js格式显示输出 |
journalctl -p ##显示指定级别的日志
0 | emerg 系统的严重问题日志 |
---|---|
1 | alert 系统中立即要更改的信息 |
2 | crit 严重级别会导致系统软件不能正常工作 |
3 | err 程序报错 |
4 | warning 程序警告 |
5 | notice 重要信息的普通日志 |
6 | info 普通信息 |
7 | debug 程序排错信息 |
journalctl -F PRIORITY ##查看可控日志级别
journalctl -u ##查看指定服务
journalctl - -disk-usage ##查看日志大小
journalctl - -vacuum-size=1G ##设定日志存放大小
journalctl --vacuum-time=1w ##日志在系统中最长存放时间
journalctl -f ##监控日志
三、用journald服务永久存放日志
1、系统中默认存放日志在:/run/log/journal中
2、默认方式在系统重启后日志会被清理
3、要永久保存日志需完成以下操作
1)mkdir /var/log/journal
2)chgrp systemd-journal /var/log/journal
3)chmod 2775 /var/log/journal
4)systemctl restart systemd-journald.service
5)当服务重启,日志存放路径会被指定到/var/log/journal
6)再次重启系统可以看到日志是被保存下来的
四、rsyslog
服务名称:rsyslog.service
配置文件:/etc/rsyslog.conf
此服务是用来采集系统日志的,他不产生日志,只是起到采集作用
五、rsyslog的管理
1)日志存放:
/var/log/messages ##服务日志,常规信息,服务报错日志
/var/log/sercure ##认证信息日志
/var/log/maillog ##系统邮件日志信息
/var/log/cron ##定时任务信息
var/log/boot.log ##系统启动信息日志
2)自定义日志采集路径
vim /etc/rsyslog.conf
*.* /var/log/westos ##将系统中所有级别的日志存放在westos中
设定完后重启:
systemctl restart rsyslog.service
查看westos是存在日志文件的
同理可以指定日志存放路径如下
*.*;authpriv.none /va/log/westos ##把除了authpriv外的所有级别,类型的日志存放在westos中
3)日志类型
auth | 用户认证 |
---|---|
authpriv | 服务认证 |
cron | 时间任务 |
kern | 内核类型 |
邮件 | |
news | 系统更新信息 |
user | 用户 |
4)日志级别
0 | emerg |
---|---|
1 | alert |
2 | crit |
3 | err |
4 | warning |
5 | notice |
6 | info |
7 | debug |
5)如何更改日志采集格式
1.定义日志采集格式
$template WESTOS,"%FROMHOST-IP% %timegenerated% %syslogtag% %msg%\n"
WESTOS: 格式名称
%FROMHOST-IP%: 日志来源主机
%timegenerated%: 日志生成时间
%syslogtag%: 日志生成服务
%msg%: 日志内容
\n: 换行
2)设定日志采集格式的应用
六、日志的远程同步
rhel7_node1:作为日志的接收方,所有人的日志都存放到此台主机
rhel8_node1:作为日志的发送方,发送日志到rhel7_node1主机
**1)在rhel7中设定接受所有人的日志:
vim /etc/rsyslog.conf
$ModLoad imudp ##打开日志接受插件
$UDPServerRun 514 ##指定插件使用端口514
【注】:关闭防火墙
systemctl stop firewalld
查询端口
netstat -antlupe | grep rsyslog
2)rhel8中设定发送日志到rhel7中
vim /etc/rsyslog.conf
【注】
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@192.168.43.20 表示把本机的日志用udp的传输方式发送到192.168.43.20主机
3)验证结果
在rhel7和rhel8中
rm -fr /var/log/mesages
在rhel8中
logger westos test messages
最后在rhel7中能看到8中生成的日志,说明远程传输日志成功
七、timedatectl
1)timedatectl 查看时间
2)设定系统时间
timedatectl set-time "2020-02-16 16:46:50"
3)显示系统的所有时区
timedatectl list-timezones
4)设定系统时区
timedatectl &nbs; set-timezone "Asia/Shanghai"
设定系统时间计算方式
timedatectl set-local-rtc 0|1
八、时间同步服务
服务名称: chronyd.service
配置文件: /etc/chrony.conf
rhel7作为时间源,rhel8同步rhel7时间
在rhel7中
vim /etc/chrony.conf
在rhel8中
vim /etc/chrony.conf
pool 192.168.43.20 iburst
systemctl restart chronyd
查看
在rhel8中查看时间并与rhel7作对比
使用chronyc 命令查看时间效果