Linux中系统日志的管理

##实验环境:
主机一:192.168.43.60
主机二:192.168.43.61
关闭火墙:

systemctl  stop  firewalld

设置vim:

vim etc/vimrc
set nu

一、journald 程序采集日志

服务名称:systemd-journald.service
命令: journalctl 获取日志
默认日志存放路径: /run/log   每次重启后会清空

实验一:journalctl命令的用法

journalctl
 -n  3     ##日志的最新3条
 --since  “2020-02-13 17:00”    ##显示17:00后的日志
 --until  “2020-02-13 17:00”     ##显示日志到17:00
 在这里插入图片描述
 在这里插入图片描述
 在这里插入图片描述
 -o        ##设定日志的显示方式
   short    经典模式显示日志
   verbose  显示日志的全部字节
   export   适合传出和备份的二进制格式
    json    js格式显示输出
    在这里插入图片描述
 -p        ##显示制定级别的日志
  0  emerg   系统的严重问题日志
  1  alert    系统中立即要更改的信息
  2  crit     严重级别会导致系统软件不能正常工作
  3  err     程序报错
  4  warning   程序警告
  5  notice    重要信息的普通日志
  6 info     普通信息
  在这里插入图片描述
 -F PRIORITY    查看可控日志级别
 在这里插入图片描述
 在这里插入图片描述
   ##可用 -p 2 查看
 -u sshd      指定查看服务
 --disk-usage    查看日志大小

[root@rhel7_1 ~] journalctl --disk-usage 
Archived and active journals take up 6.0M on disk.

–vacuum-size=1G    设定日志存放大小,临时的,可在/etc/systemd/journald.conf 下永久更改
–vacumm-time=1W    日志在系统中最长存放时间,临时的,重启后无
 -f           监控日志
journalctl  _PID=10924  _SYSTEMD_UNIT=sshd.service  条件查找,条件在-o verbose 中寻找

实验二:用journald服务永久存放日志

系统中默认日志在:/run/log/journal中
在这里插入图片描述
在这里插入图片描述
可以看出完成上述操重启服务作后,/run/log/ 下的文件被删除,在 /var/log/journal/ 下自动生成了和以前一样的一个文件,则日志存放路径被指定到:/var/log/journal,此时重启电脑之前的日志文件不会丢失。

[root@rhel7_1 journal]# systemctl status systemd-journald.service
● systemd-journald.service - Journal Service
   Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static; vendor preset: disabled)
   Active: active (running) since Thu 2020-02-13 ==17:45:41== CST; 10min ago
     Docs: man:systemd-journald.service(8)

这是此时服务开启的时间,这时我们重启电脑后
在这里插入图片描述
可以看见之前的日志仍然存在,所以这次永久存放日志实验成功,我们可以

journalctl --vacuum-size=1G      来设定最大滚动日志为1G

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

二、rsyslog 程序采集日志

服务名称:rsyslog.service
日志存放:

/var/log/messages #系统服务日志,常规信息,服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log #系统启动日志信息

rsyslog的管理都依赖于配置文件:/etc/rsyslog.conf

实验一:自定义日志采集路径

日志类型 . 日志级别  日志存放路径
   *.*     /var/log/westos    ##把系统中所有级别的日志存放到westos中
*. * ;  authpriv.none  /var/log/westos     ##把系统中所有级别的日志存放到westos中
                     但是authpriv不存放到westos中
在这里插入图片描述
清空 /var/log/message 文件的内容,然后 vim  /etc/rsyslog.conf

 54 *.info;mail.none;authpriv.none;cron.none                /var/log/messages
 55 *.*                                                     /var/log/westos  #加入这一行

在这里插入图片描述
重启服务后发现原来不存在的文件出现了,内容也出现了:
在这里插入图片描述
设置只有服务认证可以记录到  /var/log/westos:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到 westos文件中只有服务认证日志了。重启网络的话则不会出现网络的日志,可以自行检测

systemctl restart network

日志类型
auth 用户认证
authpriv 服务认证
cron 时间任务
kern 内核类型
mail 邮件
news 系统更新信息
user 用户

日志级别

debug
info
notice
waring
err
crit
alert
emerg
none   # *.*;auth.none 表示除过用户认证

实验二:如何更改日志采集格式

默认日志格式;
在这里插入图片描述

1定义日志采集格式
在这里插入图片描述
WESTOS: 格式名称
%FROMHOST-IP%: 日志来源主机IP
%timegenerated%: 日志生成时间
%syslogtag%: 日志生成服务名称
%msg%: 日志内容
\n: 换行

2设定日志采集格式应用
在这里插入图片描述
重启日志服务后生效。
在这里插入图片描述
重启服务后,看出日志格式已经显示为想要的格式

实验三:日志的远程同步

rhel7_node1:172.25.254.11  存放日志作为日志接受端,所有人日志都存放到此台主机
rhel8_node1:172.25.254.10  发送日志到rhel7_node1主机中

1.在rhel7中设定接受所有人的日志
vim /etc/rsyslog.conf

两种同步方式:udp速率较快,所以选择 udp 方式
在这里插入图片描述
在这里插入图片描述
15 $ModLoad imudp      ##打开日志接受插件
16 $UDPServerRun 514    ##指定插件使用接口

查询端口:514端口已经打开
在这里插入图片描述

2.rhel8中设定发送日志到rhel7中
vim /etc/rsyslog.conf
在这里插入图片描述
*.*  @172.25.254.11

@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.11 把本机日子用udp的传输方式发送到172.25.254.11主机
systemctl restart rsyslog 重启服务

测试:
在rhel7和8中 > /var/log/messages 清空内容方便比较
在rhel8中
logger westos test message    logger是测试日志的工具,产生日志

在这里插入图片描述
在这里插入图片描述
可以看出rhel7中已经出现了rhel8中的日志

三、timedatectl 更改系统时间

在这里插入图片描述
locale time=RTC time + 时区差=13+8=21

**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时间计算方式 1表示普通时间计算方式

vim  /etc/adjtime

在这里插入图片描述

timedatectl  set-local-rtc  1 
vim  /etc/adjtime

在这里插入图片描述
在这里插入图片描述
可见硬件时间已经改为本地时间,时间计算方式也已经改变。

四、时间同步服务

服务名称: chronyd.service
配置文件: /etc/chrony.conf

在rhel7作为时间源rhel8同步rhel7时间
在rhel7中

vim /etc/chrony.conf

在这里插入图片描述
在这里插入图片描述
26 allow 172.25.254.0/24      ##允许172.25.254.0网段主机同步时间
29 local stratum 10         ##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
在rhel8中

vim /etc/chrony.conf  编写文件

在这里插入图片描述

systemctl restart chronyd   重启服务

查看:
在rhel8中查看时间:
现实已经变成rhel7中时间
使用chronyc 命令查看时间效果:
在这里插入图片描述
则已经成功同步rhel7的时间

发布了36 篇原创文章 · 获赞 13 · 访问量 1471

猜你喜欢

转载自blog.csdn.net/thermal_life/article/details/104292803
今日推荐