目录
#############################################################################
实验环境:
systemctl stop firewalld
#############################################################################
1.journald
服务名称:systemd-journald.service
journalctl
默认日志存放路径: /run/log
实验1 journalctl命令的用法
journalctl
journalctl -n 2 日志的最新2条
journalctl --since "2022-04-25 03:55:00" 显示03:55后的日志
journalctl --until "2022-04-25 20:05:00" 显示日志到20:05
journalctl -o 设定日志的显示方式
journalctl -o short 经典模式显示日志
journalctl -o verbose 显示日志的全部字节
journalctl -o export 适合传出和备份的二进制格式
journalctl -o json js格式显示输出
journalctl -p 显示制定级别的日志
0 emerg系统的严重问题日志
1 alert 系统中立即要更改的信息
2 crit 严重级别会导致系统软件不能正常工作
3 err 程序报错
4 warning 程序警告
5 notice 重要信息的普通日志
6 info 普通信息
7 debug 程序拍错信息
journalctl -F PRIORITY 查看可控日志级别
journalctl -u sshd 指定查看服务
journalctl --disk-usage 查看日志大小
journalctl --vacuum-size=1G 设定日志存放大小
journalctl --vacuum-time=1w 日志在系统中最长存放时间
journalctl -f 监控日志
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
当服务重启日志存放路径会被制定到:/var/log/journal
text
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/westos 把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos 把系统中所有级别的日志存放到westos中但是authpriv不存放到westos中
日志类型
auth 用户认证
authpriv 服务认证
cron 时间任务
kern 内核类型
mail 邮件
news 系统更新信息
user 用户
日志级别
debug 程序排错信息
info 程序常规运行信息
notice 重要信息的普通日志
waring 程序警告
err 程序报错
crit 严重级别会导致系统软件不能正常工作
alert 系统中立即要更改的信息
emerg 系统的严重问题日志
none 不采集
实验2.如何更改日志采集格式
1定义日志采集格式
$template WESTOS "%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)默认采用WESTOS格式
实验3.日志的远程同步
westos192.168.16.200存放日志作为日志接受端,所有人日志都存放到此台主机
westos192.168.16.210发送日志到westos192.168.16.200主机中
1.在westos192.168.16.200中设定接受所有人的日志
systemctl stop firewalld
vim /etc/rsyslog.conf
module(load="imudp") 打开日志接受插件
input(type="imudp" port="514") 指定插件使用接口
systemctl restart rsyslog
查询端口: netstat -antlupe | grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:*
0 584480 3675/rsyslogd
udp6 0 0 :::514 :::*
0 584480 3675/rsyslogd
2.westos_linux中设定发送日志到westos_node1中
vim /etc/rsyslog.conf
*.* @192.168.16.200
systemctl restart rsyslog
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@192.168.16.200 把本机日志用udp的传输方式发送到192.168.16.200主机
测试: 在westos192.168.16.200和westos192.168.16.210中
> /var/log/messages
在westos192.168.16.210中 logger westos test message
在westos192.168.16.200中可以看到westos192.168.16.210中生成的日志!!
3.timedatectl
timedatectl set-time "2022-02-22 22:22:22" 设定系统时间
timedatectl list-timezones 显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" 设定系统时区
timedatectl set-local-rtc 0|1 设定系统时间计算方式
0表示使用utc时间计算方式
4.时间同步服务
服务名称: chronyd.service
配置文件: /etc/chrony.conf
时间共享端
vim /etc/chrony.conf
allow 0.0.0.0/24 允许所有主机同步时间
local stratum 10 开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemctl stop firewalld
在时间同步客户端
vim /etc/chrony.conf
pool 172.168.43.210 iburst
systemctl restart chronyd
查看:
在客户端中查看时间:
现实已经变成共享端中时间
使用chronyc 命令查看时间效果:
chronyc sources -v