# 实验环境 #
###############################
systemctl stop firewalld
# 1.journald #
###############################
服务名称:systemd-journald.service
journalctl
默认日志存放路径: /run/log
##实验1 journalctl命令的用法##
journalctl
-n 3 | ##日志的最新3条 |
-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 --disk-usage -f | ##查看可控日志级别 ##指定查看服务 ##查看日志大小 ##设定日志存放大小 ##日志在系统中最长存放时间 ##监控日志 |
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service
#########实验2 用journald服务永久存放日志########
系统中默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理,要永久保存日志请完成以下操作:
mkdir /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 进行自定义日志采集路径
日志类型.日志级别 | 日志存放路径 | |
*.* *.*;authpriv.none | /var/log/westos | ##把系统中所有级别的日志存放到westos中 ##把系统中所有级别的日志存放到westos中,但是authpriv不存放到westos中 |
把系统中所有级别的日志存放到westos中
把系统中所有级别的日志存放到westos中,但是authpriv不存放到westos中,通过ssh服务来进行查看。
重新改为*.*后,重启服务发现,ssh服务信息又重新可以显示。
注意:每次进行更改后,需要重新启动服务,不然更改不会生效。以上实验可以看出。
日志类型
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: 格式名称
#%FROMHOST-IP%: 日志来源主机IP
#%timegenerated%: 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行
2设定日志采集格式应用
*.*;authpriv.none | /var/log/westos;WESTOS |
module(load="builtin:omfile" Template="WESTOS_FORMAT") ##默认采用WESTOS_FORMAT格式 |
##############实验3.日志的远程同步###############
172.25.254.100 172.25.254.200 | 存放日志作为日志接受端,所有人日志都存放到此台主机 发送日志到westos_node1主机中 |
1.在100主机中设定接受所有人的日志
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
2.200主机中设定发送日志到100主机中
vim /etc/rsyslog.conf
*.* @172.25.254.20
systemctl restart rsyslog
systemctl restart rsyslog | |
@ @172.25.254.100 | 表示使用udp传输日志 把本机日志用udp的传输方式发送到172.25.254.100主机 |
测试:
在100和200主机中 > /var/log/messages
在200主机中 logger westos test message
在100中可以看到200主机中生成的日志!!
###############################
# 3.timedatectl #
###############################
timedatectl set-time "2021-11-10 11:11:12" timedatectl list-timezones timedatectl set-timezone "Asia/Shanghai" timedatectl set-local-rtc 0|1 | ##设定系统时间 ##显示系统的所有时区 ##设定系统时区 ##设定系统时间计算方式 ##0表示使用utc时间计算方式 |
###############################
# 4.时间同步服务#
###############################
#服务名称: #配置文件: | chronyd.service /etc/chrony.conf |
在200作为时间源,100同步200时间
在100中
vim /etc/chrony.conf
26 allow 172.25.254.100/24 或者allow 0.0.0.0/0 ##允许172.25.254.0网段主机同步时间或者所有主机同步
29 local stratum 10 ##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemctl stop firewalld
在200中
vim /etc/chrony.conf
pool 172.25.254.100 iburst
systemctl restart chronyd