class_10.管理系统日志

tips

##########实验环境#########
westos_linux:172.25.254.id+100
westos_node1:172.25.254.id+200

westos_linux&westos_node1:

systemctl stop firewalld

######################1.journald##################
服务名称:systemd-journald.service
journalctl
默认日志存放路径:/run/log

####实验1 journalctl命令的用法###
journalctl
-n 3 #日志的最近3条
–since “xxxx-xx-xx xx:xx:xx” #显示从某一刻起的日志
–until “xxxx-xx-xx xx:xx:xx” #显示某时刻以前的日志
-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
在这里插入图片描述

#####实验2 用journal服务永久存放日志#####
系统中默认日志存在:/run/log/journal中
#默认方式在系统重启后日志会被清理
#要永久保存日志请完成以下操作:
mkdir /var/log/journal
chgrp systemd-journal /var/log/jouenal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service
#当服务重启,日志存放路径会指定到:/var/log/journal
在这里插入图片描述

测试:
1。在操作以上步骤之前查看日志
2。重启系统
3。再次查看日志
4。可以看到日志时不会被保存下来的,只能看到重启之后的日志
5。完成以上操作后再次启动系统可以看到日志时被保存下来的

#####################2.rsyslog#####################################
服务名称:rsyslog.service
日志存放;
/var/log/message #系统服务日志,常规信息,服务报错
/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 #严重级别会导致系统软件不能正常工作
none #不采集

###实验2.如何更改日志采集格式###
1.定义日志采集格式
$template WESTOS_FORMAT,“xxxxxxx”
#WESTOS_FORMAT 格式名称
#@%FROMHOST-IP% 日志来源主机IP
#%timegenerated% 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行
2。设定日志采集格式应用
.;authpriv.none /var/log/westos;WESTOS
在这里插入图片描述

modul(load=“builtin:omfile” Template=“WESTOS_FORMAT”)
#默认采用WESTOS_FORMAT格式

#########实验3.日志的远程同步####
westos_node1:[host] 存放日志作为日志接收端,所有人日志都存放到此台主机
westos_linux:[host] 服务端发送日志到主机中

1.在west_node1中设定接受所有人的日志
systemctl stop firewalld

vim /etc/rsyslog.conf
19 module(load"imudp") #打开日志接受插件
20 input(type=“imudp” port=“514”) #指定插件使用端口
在这里插入图片描述

systemctl restart rsyslog

2.west_linux中设定发送日志到westos_node1中
vim /etc/rsyslog.conf
. @172.25.254.20
systemctl restart rsyslog

@ 表示用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.20 把本机日志用udp的传输方式发送到172.25.254.20主机

测试:
在westos_linux和westos_node1中

/var/log/messages

在westos_linux中
logger westos test message

在westos_node1中可以看到westos_linux中生成的日志
在这里插入图片描述