文章目录
实验环境
journald
journalctl命令的用法
用journald服务永久存放日志
rsyslog
自定义日志采集路径
日志类型
日志级别
如何更改日志采集格式
日志的远程同步
timedatectl
时间同步服务
实验环境
两台网络可以互通的主机:
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
内核类型
mail
邮件
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命令查看时间效果