实验环境
systemctl stop firewalld
1.journald
服务名称:systemd-journald.service
journalctl
默认日志存放路径: /run/log
实验1 journalctl命令的用法
journalctl
-n 3 日志的最新3条
--since "2020-05-01 11:00:00" 显示11:00后的日志
--until "2020-05-01 11:05:00" 显示日志到11:05
-o 设定日志的显示方式
short 经典模式显示日志
Verbose 显示日志的全部字节
export 适合传出和备份的二进制格式
json js 格式显示输出
-p 显示制定级别的日志
0 emerg 系统的严重问题日志
1 alert 系统中立即要更改的信息
2 crit 严重级别会导致系统软件不能正常工作
3 err 程序报错
4 warning 程序警告
5 notice 重要信息的普通日志
6 info 普通信息
7 debug 程序拍错信息
-F PRIORITY 查看可控日志级别
-u sshd 指定查看服务
--disk-usage 查看日志大小
--vacuum-size=1G 设定日志存放大小
--vacuum-time=1W 日志在系统中最长存放时间
-f 监控日志
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service
实验2 用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
测试:
1.在操作以上步骤之前查看日志
2.重启系统
3.再次查看日志
4.可以看到日志是不会被保存下来的只能看到重启之后的日志
5.完成以上操作后再次重启系统可以看到日志是被保存下来的
2.rsyslog
服务名称:rsyslog.service日志存放:
/var/log/messages #系统服务日志,常规信息,服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log
#系统启动日志信息
配置文件:/etc/rsyslog.conf
实验1.自定义日志采集路径
vim /etc/rsyslog.conf
日志类型.日志级别 日志存放路径
*.* /var/log/westos 把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos 把系统中所有级别的日志存放到westos中
但是authpriv不存放到westos中
日志类型
auth 用户认证
authpriv 服务认证
cron 时间任务
kern 内核类型
mail 邮件
news 系统更新信息
user 用户
日志级别
debug 程序排错信息
info 程序常规运行信息
notice 重要信息的普通日志
waring 程序警告
err 程序报错
crit 严重级别会导致系统软件不能正常工作
alert 系统中立即要更改的信息
emerg 系统的严重问题日志
none 不采集
实验2.如何更改日志采集格式
1定义日志采集格式
$template WESTOS_FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
#WESTOS_FORMAT: 格式名称
#%FROMHOST-IP%: 日志来源主机IP
#%timegenerated%:
日志生成时间
#%syslogtag%:
日志生成服务
#%msg%:
日志内容
#\n:
换行
2设定日志采集格式应用
*.*;authpriv.none /var/log/westos;WESTOS
module(load="builtin:omfile" Template="WESTOS_FORMAT") ##默认采用WESTOS_FORMAT格式
实验3.日志的远程同步
westos_node1:172.25.254.20
存放日志作为日志接受端,所有人日志都存放到此台主机
westos_linux:172.25.254.10
发送日志到westos_node1主机中
1.在westos_node1中设定接受所有人的日志
systemctl stop firewalld vim /etc/rsyslog.conf
19 module(load="imudp") ##打开日志接受插件
20 input(type="imudp" port="514") ##指定插件使用接口
systemctl restart rsyslog
查询端口:
root@rhel7_node1 ~]# netstat -antlupe | grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:* 0
67600 11115/rsyslogd
udp6 0 0 :::514 :::* 0
67601 11115/rsyslogd
2.westos_linux中设定发送日志到westos_node1中
vim /etc/rsyslog.conf
*.*
@172.25.254.20
systemctl restart rsyslog
@
表示使用udp传输日志
@@
表示使用tcp传输日志
@172.25.254.20 把本机日志用udp的传输方式发送到172.25.254.20主机
测试:
在westos_linux和westos_node1中
> /var/log/messages
在westos_linux中
logger westos test message
在westos_node1中可以看到westos_linux中生成的日志!!
3.timedatectl
timedatectl set-time "2020-02-13 10:41:55" ##设定系统时间
timedatectl list-timezones
##显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" ##设定系统时区
timedatectl set-local-rtc 0|1
##设定系统时间计算方式
##0表示使用utc时间计算方式
4.时间同步服务
#服务名称:
chronyd.service
#配置文件:
/etc/chrony.conf
在rhel7作为时间源rhel8同步rhel7时间
在time_server中
vim /etc/chrony.conf
26 allow 172.25.254.0/24
允许172.25.254.0网段主机同步时间
29 local stratum 10
##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemctl stop firewalld
在time_clinet中
vim /etc/chrony.conf
pool 172.25.254.100 iburstsystemctl restart chronyd
查看:
在time_client中查看时间:
现实已经变成time_server中时间
使用chronyc 命令查看时间效果: