# 实验环境 #
###############################
systemctl stop firewalld
# 1.journald #
###############################
服务名称:systemd-journald.service
journalctl
默认日志存放路径: /run/log
##实验1 journalctl命令的用法##
journalctl

 

-n 3
--since "2020-05-01 11:00:00"
--until "2020-05-01 11:05:00"

##日志的最新3条
##显示11: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

systemd 日志输出到控制台 systemctl日志保存路径_linux

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_02

systemd 日志输出到控制台 systemctl日志保存路径_运维_03

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_04

systemd 日志输出到控制台 systemctl日志保存路径_重启_05

systemd 日志输出到控制台 systemctl日志保存路径_linux_06

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_07

systemd 日志输出到控制台 systemctl日志保存路径_运维_08

#########实验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.完成以上操作后再次重启系统可以看到日志是被保存下来的

systemd 日志输出到控制台 systemctl日志保存路径_运维_09

###############################
# 2.rsyslog #
###############################
服务名称:rsyslog.service

日志存放:

/var/log/messages

/var/log/secure

/var/log/maillog

/var/log/cron

/var/log/boot.log

#系统服务日志,常规信息,服务报错

#系统认证信息日志

#系统邮件日志信息

#系统定时任务信息

#系统启动日志信息

systemd 日志输出到控制台 systemctl日志保存路径_linux_10

配置文件:/etc/rsyslog.conf

####实验1.自定义日志采集路径######
vim /etc/rsyslog.conf         进行自定义日志采集路径

日志类型.日志级别

日志存放路径

*.*

*.*;authpriv.none


/var/log/westos
/var/log/westos


##把系统中所有级别的日志存放到westos中

##把系统中所有级别的日志存放到westos中,但是authpriv不存放到westos中

把系统中所有级别的日志存放到westos中

systemd 日志输出到控制台 systemctl日志保存路径_重启_11

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_12

把系统中所有级别的日志存放到westos中,但是authpriv不存放到westos中,通过ssh服务来进行查看。

systemd 日志输出到控制台 systemctl日志保存路径_服务器_13

systemd 日志输出到控制台 systemctl日志保存路径_服务器_14

重新改为*.*后,重启服务发现,ssh服务信息又重新可以显示。

systemd 日志输出到控制台 systemctl日志保存路径_运维_15

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_16

注意:每次进行更改后,需要重新启动服务,不然更改不会生效。以上实验可以看出。

日志类型

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格式

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_17

systemd 日志输出到控制台 systemctl日志保存路径_重启_18

systemd 日志输出到控制台 systemctl日志保存路径_运维_19

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_20

 ##############实验3.日志的远程同步###############

172.25.254.100

172.25.254.200

存放日志作为日志接受端,所有人日志都存放到此台主机

发送日志到westos_node1主机中

systemd 日志输出到控制台 systemctl日志保存路径_重启_21

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传输日志
表示使用tcp传输日志

把本机日志用udp的传输方式发送到172.25.254.100主机

测试:
在100和200主机中        > /var/log/messages
在200主机中 logger westos test message
在100中可以看到200主机中生成的日志!!

systemd 日志输出到控制台 systemctl日志保存路径_重启_22

systemd 日志输出到控制台 systemctl日志保存路径_服务器_23

 ###############################
# 3.timedatectl #
###############################

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_24

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时间计算方式

systemd 日志输出到控制台 systemctl日志保存路径_重启_25

systemd 日志输出到控制台 systemctl日志保存路径_服务器_26

systemd 日志输出到控制台 systemctl日志保存路径_运维_27

###############################
# 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

systemd 日志输出到控制台 systemctl日志保存路径_运维_28

systemd 日志输出到控制台 systemctl日志保存路径_systemd 日志输出到控制台_29