实验环境
systemctl stop firewalld(关闭火墙)
1.journald
服务名称 : systemd - journald.service
journalctl 默认日志存放路径: / run / log
实验 1 journalctl 命令的用法
journalctl
-n 3 日志的最新3条
-f 监控日志
-o 设定日志的显示方式
-o short 经典模式显示日志
-o verbose 显示日志的全部字节
-o export 适合传出和备份的二进制格式
-o json js格式显示输出
-p 显示制定级别的日志
-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 日志在系统中最长存放时间
--since "2022-04-25 11:00:00" 显示11:00后的日志
--until "2022-04-25 11:05:00" 显示日志到11:05
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 /free ## 把系统中所有级别的日志存放到free 中
*.* ;authpriv.none / var / log /free
把系统中所有级别的日志存放到free 中 ,但是 authpriv 不存放到free 中
日志类型
auth # 用户认证
authpriv # 服务认证
cron # 时间任务
kern # 内核类型
mail # 邮件
news # 系统更新信息
user # 用户
日志级别
debug # 程序排错信息
info # 程序常规运行信息
notice # 重要信息的普通日志
waring # 程序警告
err # 程序报错
crit # 严重级别会导致系统软件不能正常工作
alert # 系统中立即要更改的信息
emerg # 系统的严重问题日志
none # 不采集
实验 2. 如何更改日志采集格式
1 定义日志采集格式
$template FREE_FORMAT, " %FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
#FREE_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 : 192.168.155.100 存放日志作为日志接受端, 所有人日志都存放到此台主机
westos_linux : 192.168.155.200 发送日志到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
查询端口 :
udp 0 0 0.0.0.0 : 514 0.0.0.0 :* 0
0 48558 2989 / rsyslogd
udp6 0 0 ::: 514 : ::* 0
0 48559 2989 / rsyslogd
2. westos_linux 中设定发送日志到 westos_node1 中
vim / etc / rsyslog.conf
*.* @ 192.168.155.100
systemctl restart rsyslog
@ 表示使用udp 传输日志
@@ 表示使用tcp 传输日志
@ 192.168.155.100 把本机日志用 udp 的传输方式发送到192.168.155.100 主机
测试 :
在 westos_linux 和 westos_node1 中
> / var / log / messages
在 westos_linux 中 logger westos test message
在 westos_node1 中可以看到 westos_linux 中生成的日志 !!
3. timedatectl
timedatectl set - time " 2222-02-22 22:22 " ## 设定系统时间
timedatectl list - timezones ##显示系统的所有时区
timedatectl set - timezone "Africa/Bangui" ##设定系统时区
timedatectl set - local - rtc 0 | 1 ##设定系统时间计算方式 ,0表示使用 utc 时间计算方式
4. 时间同步服务
服务名称 : chronyd.service
配置文件 : / etc / chrony.conf
在free2 作为时间共享端free1 同步free2 时间端
在 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
在free2中共享时间端
让free1同步free2时间端
vim / etc / chrony.conf
pool 192.168.2.200 iburst
在free1中 执行chronyc sources -v查看效果