Linux中的日志管理

实验环境

$:以下实验均需要在两台虚拟机上完成,楼主在前两章已经做过详细说明了,有问题的朋友可以移步前两章,准备好的友友,我们进入今天的学习吧。

1. journald

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

实验1. journalctl命令的用法

journalctl

			 -n 3                					日志的最新3条
			 --since " 12:00:00"    				显示12:00后的日志
			 --until "13:00:00"    					显示日志到13:00
			 -o                            			设定日志的显示方式

在这里插入图片描述在这里插入图片描述short 经典模式显示日志
在这里插入图片描述 verbose 显示日志的全部字节
在这里插入图片描述export 适合传出和备份的二进制格式在这里插入图片描述
json js格式显示输出

在这里插入图片描述

 -p                显示制定级别的日志
  0    emerg       系统的严重问题日志
  1    alert       系统中立即要更改的信息
  2    crit        严重级别会导致系统软件不能正常工作
  3    err         程序报错
  4    warning    程序警告
  6    info    普通信息
  7    debug    程序拍错信息

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

	-F    PRIORITY        查看可控日志级别

在这里插入图片描述
-u sshd 指定查看服务

在这里插入图片描述

–disk-usage 查看日志大小
–vacuum-size=1G 设定日志存放大小
–vacuum-time=1W 日志在系统中最长存放时间
-f 监控日志

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验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
具体操作如下
我们先查找日志
在这里插入图片描述
先建立/var/log/journal,并建立相关配置

在这里插入图片描述在这里插入图片描述最后重启系统
在这里插入图片描述
再次查看日志,就会发现,我们的日志依然存在:

在这里插入图片描述
$:我们也可以在另一台虚拟机上作对照组实验看看不进行上述操作直接重启系统会是什么情况

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        	不采集

vim 打开etc/rsyslog.conf这个文件

在这里插入图片描述将46行更改为如下的指令
在这里插入图片描述重启rsyslog.service后进行如下操作:
在这里插入图片描述
然后我们连接另一台虚拟机:
在这里插入图片描述利用二号虚拟机的身份查看/var/log/westos:
就可以看到虚拟机二号的状态被存放在这里,状态时logind
在这里插入图片描述登出二号机:
在这里插入图片描述再次登入并查看/var/log/westos,就会发现,我们登入登出二号机的信息全部被记录了下来:
在这里插入图片描述

实验2.日志的远程同步

localhost1:72.25.254.101 存放日志作为日志接受端,所有人日志都存放到此台主机
localhost2:172.25.254.201 发送日志到主机localhost1中

1.localhost1中设定接受所有人的日志
systemctl stop firewalld
vim /etc/rsyslog.conf

 19 module(load="imudp")         	   打开日志接受插件
 20 input(type="imudp" port="514")     指定插件使用接口

在这里插入图片描述将19.20行进行如下更改:
在这里插入图片描述重启服务
systemctl restart rsyslog.service
并查询端口:
root@localhost1 ~]# netstat -antlupe | grep rsyslog
在这里插入图片描述2.localhost2中设定发送日志到localhost1中
vim /etc/rsyslog.conf
. @172.25.254.101

systemctl restart rsyslog.service

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

在这里插入图片描述加入如下:
在这里插入图片描述记得关闭接受端的防火墙
systemctl disable --now firewalld
然后测试
测试:
在一号机和二号机中
> /var/log/messages
在一号机中
logger hello westos
在二号机可以看一号机中生成的日志
在这里插入图片描述在二号机查看:
在这里插入图片描述

实验3.如何更改日志采集格式

1.定义日志采集格式
$template WESTOS_FORMAT, “%timegenerated% ,%FROMHOST-IP% ,%syslogtag% ,%msg%\n”

WESTOS :            格式名称
%FROMHOST-IP%:      日志来源主机IP
%timegenerated%:    日志生成时间
%syslogtag%:        日志生成服务
%msg%:              日志内容
\n:                 换行

在这里插入图片描述

在34行添加了:$template WESTOS, “%FROMHOST-IP%, %timegenerated%, %syslogtag%, %msg%\n”
在这里插入图片描述
在这里插入图片描述

2.设定日志采集格式应用

*.*;authpriv.none                                       /var/log/westos;WESTOS

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

具体操作如下:
在这里插入图片描述
将46行更改为:
在这里插入图片描述
将33行的下图
在这里插入图片描述
更改为:
在这里插入图片描述重启rsyslog.service后再次查看日志就会发现日志的采集方式更改了:
在这里插入图片描述

在这里插入图片描述

3.timedatectl

在这里插入图片描述

timedatectl set-time "2020-02-13 10:41:55"    				设定系统时间
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

23 allow 172.25.254.0/24    允许172.25.254.0网段主机同步时间
26 local stratum 10        开启时间同步服务器功能并设定级别为10

在这里插入图片描述将如下的22行
在这里插入图片描述变为
在这里插入图片描述
将如下的26行
在这里插入图片描述
变为

在这里插入图片描述
退出后进行如下操作
在这里插入图片描述在二号机中
vim /etc/chrony.conf

pool 172.25.254.101 iburst

将第三行
在这里插入图片描述更改为:
在这里插入图片描述
在这里插入图片描述

查看:
在二号机中查看时间:
现实已经变成中localhost1时间
使用chronyc 命令查看时间效果:

在这里插入图片描述

同步完毕!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值