文章目录
实验环境
- 两台网络可以互通的主机:
- rhel7:192.168.1.11
- rhel8:192.168.1.10
journald
- 服务名称:systemd-journald.service
- 默认日志存放路径: /run/log
journalctl命令的用法
参数 | 作用 |
---|---|
journalctl | 查看全部日志 |
-n 3 | 日志的最新3条 |
–since “2020-02-13 17:00” | 显示17:00以后的日志 |
–until “2020-02-13 17:00” | 显示日志到17:00 |
-o | 设定日志的显示方式 |
-o short | 经典模式显示日志 |
-o verbose | 显示日志的全部字节 |
-o export | 适合传出和备份的二进制格式 |
-o json | js格式显示输出 |
-p | 显示制定级别的日志 |
-p 0(emerg) | 系统的严重问题日志 |
-p 1(alert) | 系统中立即要更改的信息 |
-p 2(crit) | 严重级别会导致系统软件不能正常工作 |
-p 3(err) | 程序报错 |
-p 4(warning) | 程序警告 |
-p 5(notice) | 重要信息的普通日志 |
-p 6(info) | 普通信息 |
-p 7(debug) | 程序排错信息 |
-F PRIORITY | 查看可控日志级别 |
-u sshd | 指定查看服务 |
–disk-usage | 查看日志大小 |
–vacuum-size=1G | 设定日志存放大小 (设置日志回滚) |
–vacuum-time=1W | 日志在系统中最长存放时间 |
-f | 监控日志 |
上面两种方法设置日志回滚都是暂时性的,当系统重启后就失效了,需要重新设置
想要让其永久性的生效,可以改变日志的配置文件
vim /etc/systemd/journald.conf
- 查看journal服务的状态
systemctl status systemd-journald.service
- 可以筛选查看日志文件
- 先查看日志条件
journalctl -o verbose
- 进行筛选
journalctl _PID=86 _SYSTEMD_UNIT=systemd-journald.service
用journald服务永久存放日志
- 系统中默认日志在:/run/log/journal中
- 默认方式在系统重启后日志会被清理要永久保存日志请完成以下操作:
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service
当服务重启日志存放路径会被制定到:/var/log/journal
测试:
- 在操作以上步骤之前查看日志
- 重启系统
- 再次查看日志
- 可以看到日志是不会被保存下来的只能看到重启之后的日志
- 完成以上操作后再次重启系统可以看到日志是被保存下来的
rsyslog
- 服务名称:rsyslog.service
- 配置文件:/etc/rsyslog.conf
日志存放 | 内容 |
---|---|
/var/log/messages | 系统服务日志,常规信息,服务报错 |
/var/log/secure | 系统认证信息日志 |
/var/log/maillog | 系统邮件日志信息 |
/var/log/cron | 系统定时任务信息 |
/var/log/boot.log | 系统启动日志信息 |
自定义日志采集路径
- 进入配置文件
vim /etc/rsyslog.conf
- 更改配置文件
内容 | 作用 |
---|---|
✳.✳ /var/log/westos | 把系统中所有级别的日志存放到westos中 |
✳.✳;authpriv.none /var/log/westos | 把系统中所有级别的日志存放到westos中但是authpriv不存放到westos中 |
注意:
- ✳.✳ 代表 日志类型。日志级别
- 重启服务之后,则可以在新的文件中查看日志文件
systemctl restart rsyslog.service
日志类型
auth | 用户认证 |
---|---|
authpriv | 服务认证 |
cron | 时间任务 |
kern | 内核类型 |
邮件 | |
news | 系统更新信息 |
user | 用户 |
日志级别
emerg | 系统的严重问题日志 |
---|---|
alert | 系统中立即要更改的信息 |
crit | 严重级别会导致系统软件不能正常工作 |
err | 程序报错 |
warning | 程序警告 |
notice | 重要信息的普通日志 |
info | 普通信息 |
debug | 程序排错信息 |
none |
如何更改日志采集格式
- 在配置文件里面定义日志采集格式
$template WESTOS, %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
WESTOS | 格式名称 |
---|---|
%FROMHOST-IP% | 日志来源主机IP |
#%timegenerated% | 日志生成时间 |
%syslogtag% | 日志生成服务 |
%msg% | 日志内容 |
\n | 换行 |
- 将这个格式指定给文件
*.* /var/log/westos;WESTOS
日志的远程同步
-
rhel7:192.168.1.11 存放日志作为日志接受端,所有人日志都存放到此台主机
-
rhel8:192.168.1.10 发送日志到rhel7主机中
- 在rhel7中设定接受所有人的日志
systemctl stop firewalld
- 打开配置文件
vim /etc/rsyslog.conf
- 重启日志
systemctl restart rsyslog
- 查询端口
netstat -antlupe | grep rsyslog
- rhel8中设定发送日志到rhel7中
- 在rhel8打开配置文件
vim /etc/rsyslog.conf
*.* @192.168.1.10
- 重启日志
systemctl restart rsyslog
- @ 表示使用udp传输日志
- @@ 表示使用tcp传输日志
- @192.168.1.10把本机日子用udp的传输方式发送到192.168.1.10主机
timedatectl
- 设定系统时间
timedatectl set-time "2020-02-13 10:41:55"
- 显示系统的所有时区
timedatectl list-timezones
- 设定系统时区
timedatectl set-timezone "Asia/Shanghai"
- 设定系统时间计算方式(0表示使用utc时间计算方式)
timedatectl set-local-rtc 0|1
时间同步服务
- 服务名称: chronyd.service
- 配置文件: /etc/chrony.conf
- 在rhel7作为时间源rhel8同步rhel7时间
- 在rhel7中
vim /etc/chrony.conf
- 然后重启服务,并且关闭防火墙
systemctl restart chronyd.service
systemctl stop firewalld
- 在rhel8中
vim /etc/chrony.conf
pool 172.25.254.11 iburst
- 重启服务
systemctl restart chronyd。service
- 这时rhel8中的时间已经与rhel7中的时间一样了
- 使用chronyc命令查看时间效果