####实验环境准备
打开两台虚拟机
hostnamectl set-hostname node1.westos.com ##修改server为node1(100)
systemctl stop firewalld ##关闭火墙
hostnamectl set-hostname node2.westos.com ##修改desktop为node2(174)
systemctl stop firewalld ##关闭火墙
修改两台虚拟机ip,在真机开两个tab,分别与两台虚拟机相链接
###日志服务(关闭防火墙)
1.rsyslog ##负责采集日志到指定的文件里,不产生日志,可保存
2.rsyslog 的管理
/var/log/messages ##服务信息日志
/var/log/secure ##系统登录日志
/var/log/cron ##定时任务日志
/var/log/maillog ##邮件日志
/var/log/boot.log ##系统启动日志
实验:
在这次实验中一定要自定义发送方和接受方,可以用ifconfig查看ip;
更改完配置文件后一定要systemctl restart rsyslog.service重启服务器,否则后面的实验将毫无意义;
一定要在接受方关闭防火墙,否则会对外来发送方发送的日志进行屏蔽。
node1:
systemctl status rsyslog.service ##查看预设开机是否自启动
systemctl restart sshd.service
cat /var/log/messages
> /etc/rc.d/rc.local ##清空虚拟机一直产生的日志和脚本
reboot
node2:
systemctl status rsyslog.service
cat /var/log/messages
> /var/log/messages ##清空日志
systemctl restart sshd.service
cat /var/log/messages
systemctl stop rsyslog.service
> /var/log/messages
cat /var/log/messages
systemctl restart sshd.service
cat /var/log/messages
systemctl start rsyslog.service
date
cat /var/log/messages
3.指定日志采集路径
格式:什么类型的日志.什么级别的日志 /var/log/file
日志类型分为:
auth ##pam产生的日志
authpriv ##ssh,fig等登录信息的验证消息
cron ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy,unix主机之间相关的通讯
local 1~7 ##自定义的日志设备
日志级别分为:
debug ##有调式信息的,日志信息最多的
info ##一般信息的日志,最常用
notice ##最具有重要性等 普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
实验:
目的 把系统中的所有日志采集到/var/log/westos文件中
vim /etc/rsyslog.conf
*.* /var/log/westos
systemctl restart rsyslog.service
测试
systemctl restart ssh ##生成日志
cat /var/log/westos ##出现日志信息
4.日志的远程同步
在日志发送方
vim /etc/rsyslog.conf
*.* @接受方ip @表示udp协议,@@表示tcp协议
systemctl restart rsyslog.service
> /var/log/messages ##清空日志
logger haha ##建立日志
cat /var/log/messages ##查看日志信息文件,看是否产生日志文件haha
logger test messages
cat /var/log/messages
在接受方:
vim /etc/rsyslog.conf
$ModLoad imudp ##开启日志接受模块
$UDPServerRun 514 ##开启接受端口
systemctl restart rsyslog.service ##重启rsyslog服务器
systemctl status firewalld ##查看火墙状态
systemctl stop firewalld ##关闭火墙
systemctl status firewalld ##查看火墙是否关闭
> /var/log/messages ##清空日志
cat /var/log/messages ##查看日志文件,看是否接受到发送方发送的日志文件haha
systemctl stop firewalld
systemctl status firewalld
> /var/log/messages
cat /var/log/messages
cat /var/log/messages
5.日志采集格式的设定:
vim /etc/rsyslog.conf
$template LOGFMT,"%timegenerated% %FROMHOST-TP% %syslogtag% %msg%\n"
%timegenerated% ##显示日志时间
%FROMHOST% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
*.* /var/log/westos;LOGFMT #在指定的日志中采集LOGFMT
$ActionFileDefaultTemplate LOGFMT ##修改系统默认日志采集格式为LOGFMT
6.时间同步
在服务端
vim /etc/chrony.conf
22 allow 172.25.254.0/24 ##允许那些客户端来访问本机共享的时间
29 local stratum 10 ##开启时间共享功能,本机作为时间源,这个参数开启后本纪不去同步别人的时间到本机
systemctl restart chronyd.service
在客户端
vim /etc/chrony.conf
删掉3,4,5,6行,输入server 服务端ip iburst
systemctl restart chronyd.service
测试在客户端
date 11111111
chronyc sources -v ##出现^*说明实验成功,已经和服务端的时间同步
7.修改时间
timedatectl status ##显示当前时间信息
timedatectl set-timezone Asia/Shanghai ##修改时区为东八区
timedatectl
timedatectl set-time "2019-10-10 14:00:00" ##设置时间为“ ”
timedatectl
cat /etc/adjtime ##查看是否使用伦敦时间
timedatectl set-local-rtc 0 ##不使用当地时间
cat /etc/adjtime ##查看
timedatectl status
timedatectl set-local-rtc 1 ##使用当地时间
timedatectl set-ntp 0
timedatectl status
timedatectl set-ntp 1
timedatectl status
停止接受端的火墙
Local time ##当前位置时间
Universal time ##伦敦时间
RTC time ##芯片时间
timedatectl set-local-rtc 0/1 ##修改RTC in local TZ,修改之后芯片时间和伦敦时间一致
timedatectl set-ntp 0/1 ##修改NTP enabled,修改之后芯片时间和本地时间一致
timedatectl ##显示所有时间
###查看日志
journalctl ##直接查看系统中的日志,,不可保存
-n 3 ##查看最近三条日志
-p err ##查看错误日志
-o verbose ##查看日志的详细参数
–since ##查看从什么时间开始的日志
–until ##查看到什么时间位置的日志
如何使用systemd-journald保存系统日志
默认systemd-journald是不保存系统日志到硬盘的,那么关机再次开机只能看到本次开机之后的日志,
上次关机之前的日志是无法看到的
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -l systemd-journald
ls /var/log/journal