目录
b) 在rhel8_node1 中设定发送日志到rhel7中
实验环境
rhel7_node1:192.168.1.108
rhel8_node1:192.168.1.109
一. journald
1. jorunald命令的用法
a) 服务名称
systemd-journald.service
journaldctl
b) 默认日志存放路径
/run/log
c) 命令用法
实验举例如下:
2.用journal服务永久存放日志
系统中默认日志在: /run/log/journal中
默认方式在系统重启后日志会被清理,要永久保存日志要完成以下操作:
mkdir /var/log/journal
chgrp system-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service
当服务重启后日志会被指定到: /var/log/journal
实验如下:
可以看到有09:48之前的日志,现在重启
可以看到之前的日志已经没有了,现在我们进行设置
[root@rhel7_node1 Desktop]# mkdir /var/log/journal
[root@rhel7_node1 Desktop]# chgrp systemd-journal /var/log/journal
[root@rhel7_node1 Desktop]# chmod 2775 /var/log/journal
[root@rhel7_node1 Desktop]# systemctl restart systemd-journald.service
[root@rhel7_node1 Desktop]#
现在再次重启,查看日志
可以看到还有之前的日志
二. 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 | 内核类型 |
邮件 | |
news | 系统更新信息 |
user | 用户 |
日志级别与journal 类似
例如:
打开配置文件
在 RULES下直接写入即可
设定完成后要重启(systemctl restart rsyslog.service)才能生效
2.更改日志采集格式
在配置文件中作如下设定
a) 定义日志采集格式
$template WESTOS, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
其中:
WESTOS 格式名称
%FROMHOST-IP% 日志来源主机ip
%timegenerated% 日志生成时间
%syslogtag% 日志生成服务
%msg% 日志内容
\n 换行
b)设定日志采集格式应用
直接加在日志采集路径之后如下:
*.*;authpriv.none /var/log/westos;WESTOS
例如:
3. 日志的远程同步
rhel7_node1:192.168.1.108 存放日志作为日志接受端,所有人的日志都存放到此台主机
rhel8_node1:192.168.1.109 发送日志到rhel7_node1主机中
a) 在rhel7中设定接受所有人的日志
systemctl stop firewalld
vim /etc/rsyslog-conf
15 $Modload imudp ##打开日志接受插件
16 $UDPServerRun 514 ##指定插件使用接口
systemctl restart rsyslog
查看端口:
[root@rhel7_node1 Desktop]# netstat -antlupe | grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:* 0 39340 4970/rsyslogd
udp6 0 0 :::514 :::* 0 39341 4970/rsyslogd
[root@rhel7_node1 Desktop]#
b) 在rhel8_node1 中设定发送日志到rhel7中
vim /etc/rsyslog.conf
*.* @192.168.1.108
systemctl restart rsyslog
其中:@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@192.168.1.108 表示把本机日志用udp方式发送到192.168.1.108主机
实验如下:
在rhel7和rhel8中
> /var/log/messages
在rhel7中
在rhel8中
重启服务
在rhel7中
可以看到rhel8中的日志
三. timedatectl
timedatectl set-time "2020-02-14 14:20:24" 设定系统时间
timedatectl list-timezones 显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" 设定系统时区
tiemdatectl set-local-rtc 0|1 设定系统时间计算方式(0表示使用utc方式)
例如:
四. 时间同步服务
服务名称: chronyd.service
配置文件: /etc/chrony.conf
在rhel7作为时间源同步rhel8时间
在rhel7中
vim /etc/chrony.conf
allow 192.168.1.0/24 ##允许192.168.1.0网段主机同步时间
local stratum 10 ##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemcrl stop firewalld
在rhel8中
vim /etc/chrony.conf
pool 192.168.1.108 iburst
systemctl restart chronyd
设定完成后重启服务
可见已同步时间