目录
1.日志管理
服务名称:systemd-journald.service
默认日志存放路径: /run/log/journal/机械码/软件本身生成日志 --> systemd.journald程序收集日志-->存放在system.journal文件中
做之前首先关闭防火墙,G看日志最后一页,g看日志最前一页
journalctl
-n 3 #日志的最新3条
--since "2020-05-01 11:00:00" #显示11:00后的日志
--until “2020-05-01 11:05:00” #显示日志到11:05--since "11:00:00" --until “11:05:00” #显示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 #日志在系统中最长存放时间
2.journald服务永久存放日志
系统中默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理要永久保存日志请完成以下操作:
systemd-journal只能识别它组里的文件,所以要把新建的journal目录归属到systemd-journal组中,
但后续创建的文件不再systemd-journal组中,所以给它添加一个s权限
mkdir /var/log/journal #创建文件journal
chgrp systemd-journal /var/log/journal/ #改变journal程序的组
chmod 2775 /var/log/journal/ #使目录中新建的文件自动归属到目录的所属组中
systemctl restart systemd-journald.service #重启服务当服务重启日志存放路径会被制定到:/var/log/journal
3. rsyslog
服务名称:rsyslog.service
日志存放:
/var/log/messages #系统服务日志,常规信息,服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log #系统启动日志信息
配置文件:/etc/rsyslog.conf
3.1实验一.自定义日志采集路径
vim /etc/rsyslog.conf
日志类型.日志级别 日志存放路径
*.* /var/log/westos #把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos #把系统中所有级别的日志存放到westos中,但authpriv不存放到westostail -f /var/log/westos #监控
systemctl restart rsyslog.service #重启服务
从另一个主机远程连接
*.* #监控会显示所有信息
*.*;authpriv.none #监控会少主机的认证信息日志类型
auth #用户认证
authpriv #服务认证
cron #时间任务
kern #内核类型
mail #邮件
news #系统更新信息
user #用户日志级别
debug #程序排错信息
info #程序常规运行信息
notice #重要信息的普通日志
warning #程序警告
err #程序报错
crit #严重级别会导致系统软件不能正常工作
alert #系统中立即要更改的信息
emerg #系统的严重问题日志
none #不采集
3.2实验二.如何更改日志采集格式
定义接收端指定日志的采集格式
vim /etc/rsyslog.conf #编写日志配置文件
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n" #编写一个接收方式
#*.*;info;mail.none;authpriv.none;cron.none /var/log/westos;WESTOS #在指定日志后面添加这个采集格式
/var/log/messages #覆盖原本信息
systemctl restart rsyslog.service #重启服务
cat /var/log/messages
#WESTOS_FORMAT: 格式名称
#%FROMHOST-IP%: 日志来源主机IP
#%timegenerated%: 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行
修改接收端接收日志的采集格式
vim /etc/rsyslog.conf #编写日志配置文件
34行注释掉原来的接收方式
命令模式下按2下y复制整行,p粘贴
35行粘贴 module(load="builtin:omfile" Template="WESTOS") #修改默认的采集格式
/var/log/messages #覆盖
systemctl restart rsyslog.service #重启服务
cat /var/log/messages #查
3.3 实验三:日志的远程同步
TCP #安全稳定,打电话,3次握手,4次挥手
UDP #效率,发消息systemctl disable --now firewalld #发送端和接受端都要关闭火墙
接收端:
在westosa中设定接受所有人的日志
vim /etc/rsyslog.conf
19行.module(load="imudp") # needs to be done just once #打开日志接收模块
20行.input(type="imudp" port="514") #指定插件使用接口
systemctl restart rsyslog.service #重启服务接受端查询端口:
netstat -antlupe | grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:*0 76684 8214/rsyslogd
udp6 0 0 :::514 :::*0 76685 8214/rsyslogd
发送端
westosb中设定发送日志到westosa
vim /etc/rsyslog.conf
*.* @172.25.254.121,接收端IP
systemctl restart rsyslog.service@ #表示使用UDP传输日志
@@ #表示使用TCP传输日志
@172.25.254.121 #把本机日志用UDP的传输方式发送到172.25.254.121主机测试:
在westos_a和westos_b中
> /var/log/messages在westosb中
logger westos test message在westosa中可以看到westos_linux中生成的日志
4.时间同步服务
Local time 当前时间
Universal time: 世界时间
RTC time : 硬件时间
Time zone: 时区
System clock synchronized: 同步系统时钟
NTP service: 网络同步时间
RTC in local TZ: 本地时间写到硬件
timedatectl
timedatectl set-time "10:00" #设定系统时间
timedatectl list-timezones #显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" #设定系统市区
timedatectl set-local-rtc 0 | 1 #设定系统时间计算方式,0表示用UTC时间计算方式,1用RTC计算方式
时间同步服务
服务名称: chronyd.service
配置文件 /etc/chrony.conf在westosa作为时间源同步westosb时间
服务器端westosa:(时间源)
systemctl stop firewalld #关闭火墙
vim /etc/chrony.conf #配置文件
26行 allow 172.25.254.0/24 #允许172.25.254.0网段主机同步时间
29行 local stratum 10 #开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service #重启服务
主机端westosb:
vim /etc/chrony.conf #配置文件
3行pool 172.25.254.121 iburst #选择时间源的IP地址查看:
在westosb中查看时间:
显示已经变成westosa中时间
使用chronyc 命令查看时间效果