1.journad
服务名称:systemd-journald.service journalctl #查看日志状态
默认日志存放路径:/run/log
实验1.journalctl命令用法
journalctl
-n 3 #日志的最新三条
--since "2021-04-09 15:00" #显示2021年4月9号15:00后的日志
--until "2021-04-09 15:00" #显示2021年4月9号15:00前的日志
journalctl --since "2021-04-09 15:00" --until "2021-04-09 15:00"#显示2021年4月9号15:00到2021年4月9号15:02的日志
journalctl -o #设定日志的显示方式
-o short #经典模式显示日志
-o verbose #显示日志的全部字节
-o export #适合传出和备份的二进制模式
-o json #js格式显示输出
journalctl -p #显示制定级别的日志
-p emerg #系统的严重问题日志
-p alert #系统中立即要更改的信息
-p crit #严重级别会导致系统软件不能正常工作
-p err #程序报错
-p warning #程序警告
-p notice #重要信息的普通日志
-p info #普通信息
-p 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 #查看pid为多少的日志文件
实验2.用journald服务永久存放日志
系统默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理要永久保存日志请完成以下操作:
mkdir /var/log/journal #建立日志目录
chgrp systemd-journalctl /var/log/journal #把日志目录归到systemd-journal组中
chown 2775 /var/log/journal #建立的文件都只能是自己
systemctl restart systemd-journald.service 重启日志服务
当服务重启日志存放路径会被制定到:/var/log/journal
测试:
1.在操作以上步骤之前查看日志
2.重启系统
3.再次查看日志
4.可以看到日志是不会被保存下来的只能看到重启之后的日志
5.完成以上操作后再次重启系统可以看得到日志时被保存下来的
2.rsysslog
服务名称:rsyslog.service
/var/log/messades #系统服务日志,常规信息,服务报错
/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 #不采集
cat /var/log/messages #查看日志文件
> /var/log/messages #清除日志文件
cat /var/log/messages #
vim /etc/rsyslog.conf 配置日志存放方式文件
ls -l /var/log/westos #查看文件权限
systemctl restart rsyslog.service #重启rsyslog.service 服务
实验2.如何更改日志采集格式##
*.*;authpriv.none /var/log/westos;WESTOS
module(load="builtin:omfile" Template="WESTOS_FORMAT") ##默认采用WESTOS_FORMAT格式
配置 vim /etc/rsyslog.conf
module(load="builtin:omfile" Template="WESTOS")
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
实验3.日志的远程同步
westosb:172.25.254.219 存放日志作为日志接受端,所有人日志都存放到此台主机
westosa:172.25.254.119 发送日志到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 #重启服务
2.westos_linux中设定发送日志到westos_node
vim /etc/rsyslog.conf
*.* @172.25.254.119
systemctl restart rsyslog
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.219 把本机日志用udp的传输方式发送到172.25.254.119主机
测试:
在westosb和westosa中
> /var/log/messages
在westosa中
logger westos test message
在westosb中可以看到westosa中生成的日志!!
3.timedatectl
timedatectl #查询时间本机上海时间、国际时间、硬件时间
systemctl disable --now chronyd #关闭防火墙
timedatectl set-time "2021-11-11 11:11:11" #修改本机时间
timedatectl list-timezones #上次登陆时区
timedatectl set-timezone "Africa/Dakar" #修改时区到
timedatectl set-timezone "Asia/Shanghai" #修改时区
timedatectl set-local-rtc 0 #硬件时间不同步
timedatectl set-local-rtc 1 #硬件时间同步
#4.时间同步服务
服务名称:chronyd.service
配置文件:/etc/chronyd.conf
在westosa中
vim /etc/chrony.conf #修改文件
26 allow 0.0.0.0/0 #允许任何网段主机同步时间
29 local stratum 10 #开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service #重启服务
systemctl stop firewalld #关闭防火墙
在westosb中
vim /etc/chrony.conf #修改文件
pool 172.25.254.100 iburst
systemctl restart chronyd #重启服务
查看:
在westosa中查看时间:
现实已经变成westosb中时间
chronyc sources -v #使用chronyc 命令查看时间效果: