深入理解Linux文件系统与日志分析

1 inode与block

1.1 概念

  • 文件数据包括元信息与实际数据
  • 文件存储在硬盘上,硬盘的最小存储单位叫做"扇区",每个扇区存储512字节
  • block:操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块" ( block )。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小 ,最常见的是4KB ,即连续八个扇区组成一个块
  • inode:文件数据存储在"块"中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做 inode(索引节点),也叫i节点
  • 一个文件必须占用一个 inode ,至少占用一个 block
    在这里插入图片描述

1.2 inode的内容

1.2.1 包含文件的元信息

  • 文件的字节数(字节占用多少空间,也称文件大小)
  • 文件拥有者的 User ID(用户ID)
  • 文件的 Group ID(组ID)
  • 文件的读、写、执行权限
  • 文件的时间戳(ctime、atime、mtime)
  • 文件类型
  • 链接数
  • 有关文件的其他数据

inode不包含文件名

可以用 stat 命令,查看某个文件的 inode 信息
[root@fyr ~]# stat aa.txt

在这里插入图片描述

  • 若复制,inode 会变化,新生成一个文件
    在这里插入图片描述

  • 若删除,节点号释放出来,节点满了之后,还可以存储文件
    在这里插入图片描述

  • 若移动,inode 不会变化
    在这里插入图片描述

1.2.2 linux文件系统的三个时间戳

  • ctime(change time):最后一次改变文件或目录(属性)的时间
  • atime(access time):最后一次访问文件或目录的时间
  • mtime(modify time):最后一次修改文件或目录(内容)的时间
    在这里插入图片描述

1.2.3 目录文件结构

  • inode不包含文件名。文件名是存放在目录当中的。 Linux 系统中一切皆文件,因此目录也是一种文件
  • 每个 inode 都有一个号码,操作系统用 inode 号码来识别不同的文件
  • linux系统内部不使用文件名,而使用 inode 来识别文件。
  • 对于用户来说,文件名只是 inode 号码便于识别的别称,文件名和 inode 号码是一 一对应关系,每个 inode 号码对应一个文件名

1.2.4 inode的号码

  • 表面上,用户通过文件名,打开文件
  • 实际上,系统内部这个过程分成三步:
(1)系统找到这个文件名对应的inode号码
(2)通过inode号码 ,获取inode信息
(3)根据inode信息,找到文件数据所在的block,读出数据

一般 inode 表会占用文件系统磁盘空间1%
一个目录文件的内容就是一个该目录下所有文件目录项的列表
在这里插入图片描述

  • 查看 inode 号码的方法

查看文件名对应的 inode 号码—Is -i

[root@fyr ~]# ls -i aa.txt

在这里插入图片描述
查看文件 inode 信息中的 inode 号码—stat

[root@fyr ~]# stat aa.txt

在这里插入图片描述

1.3 文件存储小结

1.3.1 硬盘分区后的结构

在这里插入图片描述
元信息:就是文件属性,包括用户、ID、大小、以及属性修改的时间

1.3.2 访问文件的简单流程

(1)当一个用户在 Linux 系统中试图访问一个文件时,系统会先根据文件名去查找它的 inode ,看该用户是否具有访问这个文件的权限
(2)如果有,就指向相对应的数据 block
(3)如果没有,就返回 Permission denied

在这里插入图片描述

1.4 inode的大小

  • inod e也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据另一个是 inode 区,存放 inode 所包含的信息。每个 inode 的大小,般是128字节或256字节
  • 通常情况下不需要关注单个 inode 的大小,而是需要重点关注 inode 总数。inode 的总数在格式化时就给定了,一般是每1KB或每2KB就设置一个inode
    假定在一块1GB的硬盘中,每个 inode 节点大小为128字节,每1KB就设置一个 inode,那么 inode table的大小就会达到128MB,占整块硬盘12.8%
  • 执行 “df-i” 命令即可查看每个硬盘分区对应的的 inode 总数和已经使用的 inode 数量
    在这里插入图片描述

1.5 inode的特点

由于 inode 号码与文件名分离,导致一些 Unix/Linux 系统具有以下的现象

  • 当文件名包含特殊字符,可能无法正常删除文件,直接删除 inode,也可以删除文件
删除inode号的方法:
方法一: find 文件位置 -inum inode号码 -exec rm -i {} \;
方法二: find 文件位置 -inum inode号码 -delete
[root@fyr test]# ls -i /test/aa.txt 
67 /test/aa.txt
[root@fyr test]# find /test/ -inum 67 -delete      //方法一
[root@fyr test]# ls /test/
[root@fyr test]# touch 2.txt
[root@fyr test]# ls -i 2.txt 
68 2.txt
[root@fyr test]# find /test/ -inum 68 -exec rm -i {} \;  //方法二
rm:是否删除普通空文件 "/test/2.txt"?y
  • mv移动或重命名文件时,只改变文件名,不影响 inode 号码(这里指的是非挂载磁盘)
    在这里插入图片描述
  • 打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名
  • 文件数据被修改保存后,会生成一个新 inode 号码
  • cp 命令与 inode:分配一个空闲的inode号,在 inode 表中生成新条目在目录中创建一个目录项,将名称与 inode 编号关联拷贝数据生成新的文件
  • rm 命令与 inode:链接数递减,从而释放的 inode 号可以被重用把数据块放在空闲列表中,删除目录项,数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

2 硬链接与软链接

2.1 链接文件分类

软链接硬链接
删除原始文件后失效仍旧可用
使用范围适用于文件或目录只可用于文件
保存位置与原始文件可以位于不同的文件系统中必须与原始文件在同一个文件系统(如一个Linux分 区)内

硬链接

ln 源文件 目标位置

软连接

ln -s 源文件或目录... 链接文件或目标位置

3 恢复误删除的文件—EXT3

EXT类型文件恢复
extundelete 是一个开源的 Linux 数据恢复工具,支持 ext3、ext4 文件系统。ext4 只能在 CentOS6 版本恢复)
第一步:使用 fdisk 创建分区 /dev/sdb1,格式化 ext3 文件系统

[root@fyr ~]# fdisk /dev/sdb 
[root@fyr ~]# partprobe /dev/sdb
[root@fyr ~]# mkfs.ext3 /dev/sdb1
[root@fyr ~]# mkdir /test 
[root@fyr ~]# mount /dev/sdb1 /test 
[root@fyr ~]# df -hT

在这里插入图片描述
在这里插入图片描述
第二步:安装依赖包

[root@fyr ~]# yum -y install e2fsprogs-devel e2fsprogs-libs gcc gcc-c++

在这里插入图片描述
第三步:编译安装 extundelete

[root@fyr ~]# cd /test 
[root@fyr test]# wget http://nchc,d1,sourceforge,net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4,tar.bz2
或者把已有的包直接拉进来
[root@fyr test]# tar jxvf extundelete-0.2.4.tar.bz2 -C /opt
[root@fyr opt]# cd extundelete-0.2.4/
[root@fyr extundelete-0.2.4]# ./configure --prefix=/usr/local/extundelete && make && make install或
[root@fyr extundelete-0.2.4]# ./configure && make && make install
[root@fyr extundelete-0.2.4]# ln -s /usr/local/extundelete/bin/* /usr/bin/

在这里插入图片描述
在这里插入图片描述
第四步:模拟删除并执行恢复操作

[root@fyr ~]# cd /test
[root@fyr test]# echo a>a
[root@fyr test]# echo a>b
[root@fyr test]# echo a>c
[root@fyr test]# echo a>d
[root@fyr test]# ls 
[root@fyr test]# extundelete /dev/sdb1 --inode 2

#查看文件系统/dev/sdb1下存在哪些文件,i节点是从2开始的,2代表该文件系统最开始的目录。
[root@fyr test]# rm -rf a b
[root@fyr ~]# umount /test/
[root@fyr ~]# extundelete /dev/sdb1 --restore-all  //恢复/dev/sdc1文件系统下的所有内容

#在当前目录下会出现一个RECOVERED_FILES/目录,里面保存了已经恢复的文件
[root@fyr ~]# ls RECOVERED FILES/

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

4 恢复误删除的文件—xfs

#xfsdump命令格式
xfsdump -f 备份存放位置 要备份的路径或设备文件

#xfsrestore命令格式
xfsrestore -f 恢复文件的位置 存放恢复后文件的位置

4.1 xfs类型文件备份和恢复

  • CentOS7 系统默认采用 xfs 类型的文件,xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复。
  • xfsdump 的备份级别有两种:0表示完全备份;1-9表示增量备份。xfsdump 的备份级别默认为0。

4.2 xfsdump命令常用的选项

-f指定备份文件目录
-L指定标签session label
-M指定设备标签media labe…
-s备份单个文件,-s后面不能直接跟路径

4.3 xfadump使用限制

  • 只能备份已挂载的文件系统
  • 必须使用 root 的权限才能操作
  • 只能备份 XFS 文件系统
  • 备份后的数据只能让 xfsrestore 解析
  • 不能备份两个具有相同 UUID 的文件系统(可用 blkid 命令夜看)

4.4 实例

第一步:使用 fdisk 创建分区 /dev/sdb2,格式化 xfs 文件系统

[root@fyr ~]# fdisk /dev/sdb 
[root@fyr ~]# partprobe /dev/sdb 
[root@fyr ~]# mkfs.xfs /dev/sdb2    mkfs.xfs [-f] /dev/sdb2 
[root@fyr ~]# mkdir /data
[root@fyr ~]# mount /dev/sdb2 /data/
[root@fyr ~]# cd /data 
[root@fyr data]# cp /etc/passwd ./
[root@fyr data]# mkdir test 
[root@fyr data]# touch a b c d

在这里插入图片描述
在这里插入图片描述
第二步:使用 xfsdump 命令备份整个分区

[root@fyr data]# rpm -qa | grep xfsdump
[root@fyr data]# yum install -y xfsdump
[root@fyr data]# xfsdump -f /opt/dump_sdb2 /dev/sdb2 -L dump_sdb2 -M sdb2

在这里插入图片描述
第三步:模拟数据丢失并使用 xfsrestore 命令恢复文件

方法一:
[root@fyr data]# rm -rf ./*
[root@fyr data]# xfsrestore -f /opt/dump_sdb2 /data/
方法二:
[root@fyr data]# rm -rf /opt/dump_sdb2 
[root@fyr data]# xfsdump -f /opt/dump_sdb2 /dev/sdb2
 -> dump_sdb2
 -> sdb2

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

5 分析日志文件

内核及系统日志由系统服务 rsyslog 统一管理,主配置文件为 /etc/rsysloq.conf
Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录 /var/log/ 下

vim /etc/rsyslog.conf   //查看rsyslog.conf配置文件

在这里插入图片描述

  • *.info 表示 info 等级及以上的所有等级的信息都写到对应的日志文件里
  • mail.none 表示某事件的信息不写到日志文件里(这里比如是邮件)

日志的功能

  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

5.1 日志文件的分类

  • 内核及系统日志
    由系统服务 rsyslog 统一进行管理,日志格式基本相似
  • 用户日志
    记录系统用户登录及退出系统的相关信息
  • 程序日志
    由各种应用程序独立管理的日志文件,记录格式不统一

5.2 主要日志文件介绍

内核及公共消息日志/var/log/messages
计划任务日志/var/log/cron
系统引导日志/var/log/dmesg
邮件系统日志/var/log/maillog
用户登录日志/var/log/lastlog 、/var/log/secure、/var/log/wtmp、/var/run/btmp
  • /var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息,包括启动、IO 错误、网络错误、程序故障等。
    对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息
  • /var/log/cron:记录 crond 计划任务产生的事件信息
  • /var/log/dmesg:记录 Linux 系统在引导过程中的各种事件信息
  • /var/log/maillog:记录进入或发出系统的电子邮件活动
  • /var/log/secure:记录用户认证相关的安全事件信息
  • /var/log/lastlog:记录每个用户最近的登录事件。二进制格式
  • /var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。进制格式
  • /var/run/btmp:记录失败的、错误的登录尝试及验证事件。二进制格式

5.3 内核及系统日志

由系统服务 rsyslog 统一管理

软件包:rsyslog-7.4.7-16 el7.×86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf

5.3.1 日志记录的一般格式

公共日志 /var/log/mesaagea 文件的记录格式

在这里插入图片描述

  • 时间标签:消息发出的日期和时间
  • 主机名:生成消息的计算机的名称
  • 子系统名称:发出消息的应用程序的名称
  • 消息:消息的具体内容。
  • 程序自己维护日志记录,httpd 网站服务程序使用两个日志文件:
    access_log:记录客户访问事件
    error_log:记录错误事件

5.3.2 日志消息等级

Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要)

级别消息级别具体描述
0EMERG紧急会导致主机系统不可用的情况
1ALERT警告必须马上采取措施解决的问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能影响系统功能,需要提醒用户的重要事件
5NOTICE注意不会影响正常功能,但是需要注意的事件
6INFO信息一般信息
7DEBUG调试程序或系统调试信息等

5.4 用户日志分析

保存了用户登录、退出系统等相关信息

  • /var/log/lastlog:最近的用户登录事件
  • /var/log/wtmp:用户登录、注销及系统开、关机事件
  • /var/run/utmp:当前登录的每个用户的详细信息
  • /var/log/secure:与用户验证相关的安全性事件

5.4.1 查询当前登录的用户情况—users、who、w

在这里插入图片描述

5.4.2 查询用户登录的历史记录—last、lastb

last命令—用于查询成功登录到系统的用户记录
lastb命令—用于查询登录失败的用户记录

在这里插入图片描述

5.5 程序日志分析

程序日志由相应的应用程序独立进行管理

  • Web 服务:/var/log/httpd/
    access_log ——记录客户访问事件
    error_log ——记录错误事件
  • 代理服务:/var/log/squid/
    access.log、cache.log
  • FTP服务:/var/log/xferlog
  • 分析工具
    文本查看、grep 过滤检索、Webmin 管理套件中查看
    awk、sed 等文本过滤、格式化编辑工具
    Webalizer、Awstats 等专用日志分析工具

6 日志管理

  • 及时做好备份和归档
  • 延长日志保存期限
  • 控制日志访问权限
    日志中可能会包含各类敏感信息,如账户和口令等
  • 集中管理日志
    将服务器的日志文件发到统一的日志文件服务器
    便于日志信息的统一收集、 整理和分析
    杜绝日志信息的意外丢失、恶意篡改或删除

6.1 系统日志介绍

在现实生活中,记录日志也非常重要,比如银行的转账记录,飞机上的黑盒子,那么将系统和应用发生的事件记录至日志中,以助于排错和分析使用

日志记录的内容包括

  • 历史事件:时间,地点,人物,事件
  • 日志级别:事件的关键性程度,Loglevel

6.2 系统日志服务—sysklogd

CentOS 5 之前版本采用的日志管理系统服务

  • syslogd: system application 记录应用日志
  • klogd: linux kernel 记录内核日志

事件记录格式

日期时间 主机 进程[pid]: 事件内容

C/S 架构:通过 TCP 或 UDP 协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理

6.3 系统日志服务—rsyslog

rsyslog 是CentOS 6 以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。尽管 rsyslog 最初是常规的 syslogd,但发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。

当应用有限的处理时,RSYSLOG 每秒可以将超过一百万的消息传递到本地目的地。即使在远程的目的地和更精细的处理中,性能通常也被认为是惊人的。

http://www.rsyslog.com/
官网

rsyslog 特性

  • 多线程
  • UDP, TCP, SSL, TLS, RELP
  • MySQL, PGSQL, Oracle 实现日志存储
  • 强大的过滤器,可实现过滤记录日志信息中任意部分
  • 自定义输出格式
  • 适用于企业级中继
[root@fyr ~]# rpm -qi rsyslog 

在这里插入图片描述

6.3.1 系统日志术语

  • facility:设施,从功能或程序上对日志进行归类
#内置分类
auth(验证), authpriv, cron(定时任务), daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, syslog
#自定议的分类
local0-local7
  • Priority 优先级别,从低到高排序
debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)
  • 参看帮助: man 3 syslog,man logger
[root@fyr ~]# yum -y install man-pages
[root@fyr ~]# man 3 syslog

日志等级

等级名称说 明
debug (LOG_DEBUG)一般的调试信息说明
info (LOG_INFO)基本的通知信息
notice (LOG_NOTICE)普通信息,但是有一定的重要性
warning(LOG_WARNING)警吿信息,但是还不会影响到服务或系统的运行
error(LOG_ERR)错误信息, 一般达到err等级的信息已经可以影响到服务成系统的运行了
crit (LOG_CRIT)临界状况信思,比err等级还要严®
alert (LOG_ALERT)状态信息,比crit等级还要严重,必须立即采取行动
emerg (LOG_EMERG)疼痛等级信息,系统已经无法使用了
*代表所有日志等级。比如,“authpriv.*”代表amhpriv认证信息服务产生的日志,所有的日志等级都记录

服务名称

服务名称说 明
auth(LOG AUTH)安全和认证相关消息 (不推荐使用authpriv替代)
authpriv(LOG_AUTHPRIV)安全和认证相关消息(私有的)
cron (LOG_CRON)系统定时任务cront和at产生的日志
daemon (LOG_DAEMON)与各个守护进程相关的曰志
ftp (LOG_FTP)ftp守护进程产生的曰志
kern(LOG_KERN)内核产生的曰志(不是用户进程产生的)
Iocal0-local7 (LOG_LOCAL0-7)为本地使用预留的服务
lpr (LOG_LPR)打印产生的日志
mail (LOG_MAIL)邮件收发信息
news (LOG_NEWS)与新闻服务器相关的日志
syslog (LOG_SYSLOG)存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了 syslogd服务的,所以这里并没有修改服务名称)
user (LOG_USER)用户等级类别的日志信息
uucp (LOG_UUCP>uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来 也常用在新闻组服务中

6.3.2 rsyslog 相关文件

  • 程序包:rsyslog
  • 主程序:/usr/sbin/rsyslogd
  • CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}
  • CentOS 7,8:/usr/lib/systemd/system/rsyslog.service
  • 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
  • 库文件: /lib64/rsyslog/*.so

6.3.3 rsyslog 配置文件

/etc/rsyslog.conf 配置文件格式:由三部分组成

  • MODULES:相关模块配置
  • GLOBAL DIRECTIVES:全局配置
  • RULES:日志记录相关的规则配置
[root@fyr ~]# rpm -ql rsyslog |grep imuxsock
/usr/lib64/rsyslog/imuxsock.so

RULES配置格式

facility.priority; 
#分类      优先级

*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息

文件路径:通常在/var/log/,文件路径前的-表示异步写入
用户:将日志事件通知给指定的用户,* 表示登录的所有用户
日志服务器:@host,把日志送往至指定的远程UDP日志服务器 @@host 将日志发送到远程TCP日志服务器
管道: | COMMAND,转发给其它命令处理

通常的日志文件的格式:
日志文件有很多,如: /var/log/messages,cron,secure等,基本格式都是类似的。格式如下

事件产生的日期时间 主机 进程(pid):事件内容

[root@fyr ~]# tail /var/log/messages

在这里插入图片描述

6.4 ELK

ELK:由 Elasticsearch, Logstash, Kibana三个软件组成

  • 非关系型分布式数据库基于 apache 软件基金会 jakarta 项目组的项目 lucene
  • Elasticsearch 是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能
  • Logstash 对日志进行收集、分析,过滤,并将其存储供以后使用
  • Kibana 可以提供的日志分析友好的 Web 界面

6.5 实际操作,将ssh服务的日志单独设置

第一步
进入ssh的配置文件,将ssh配置成使用local6
进入rsyslog配置文件,添加自己的文件位置

[root@localhost ~]#vim /etc/rsyslog.conf
#74行添加自己的文件位置
local6.*                          /var/log/sshd.log

[root@fyr ~]# vim /etc/ssh/sshd_config
  //修改ssh配置文件,32下一行添加自己的自定义
32 #SyslogFacility AUTHPRIV
33 SyslogFacility LOCAL6
#local 0-7是自定义的

修改过的都要重启服务

在这里插入图片描述
第二步: 重启服务

[root@fyr ~]# systemctl restart sshd
[root@fyr ~]# systemctl restart rsyslog

在这里插入图片描述
第三步:打开另一台主机 远程连接本机

####################另一台主机#########################
[root@fyr ~]# ssh 192.168.16.16

在这里插入图片描述
在这里插入图片描述
第四步:查看本机日志记录

#####################回到本机############################
[root@fyr ~]# tail -f /var/log/secure  //查看ssh服务的日志位置

在这里插入图片描述

6.6 网络日志(远程日志功能)

网路日志,通过网络将本地的日志远程备份到另一台机器。这样,就算本机系统崩溃,我们可以查看另一台机器备份的日志,来排查故障。

备份的大体过程:如果需要将服务器A的日志备份到服务器B,则A为发送方,B为接收方。则A作为发送方需要在配置文件中添加接收方B的IP地址。B作为接收方需要开启端口来接收发送方A发的日志文件。

[root@fyr ~]# rpm -ql rsyslog | grep tcp
[root@fyr ~]# rpm -ql rsyslog | grep udp

#开启日志的远程传输功能在192.168.16.16
###################发送方###############
[root@fyr ~]# systemctl stop firewalld
[root@fyr ~]# setenforce 0
#在192.168.16.16 上设置发送到哪台主机去
[root@fyr ~]# vim /etc/rsyslog.conf  //修改配置文件
54 *.info;mail.none;authpriv.none;cron.none                /var/log/messages
#复制54行                                                   改成ip地址
55 *.info;mail.none;authpriv.none;cron.none                @@192.168.16.18
如果修改的是udp  @192.168.16.18
如果要想指定端口  @192.168.16.18:端口号

[root@localhost ~]# systemctl restart rsyslog
[root@localhost ~]# logger "this is test my fyr"  //测试,写日志进去

###################接收方###############
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/rsyslog.conf 
#打开19 20 行
19 #$ModLoad imtcp
20 #$InputTCPServerRun 514
 
[root@localhost ~]# systemctl restart rsyslog
[root@localhost ~]#ss -ntap |grep 514  //查看514端口是否打开
 
###########接收方测试是否能接收到发送方的日志############
[root@localhost ~]# tail -f /var/log/messages

查看TCP和UDP文件
在这里插入图片描述
第一步:发送方关闭防火墙与selinux

[root@fyr ~]# systemctl stop firewalld
[root@fyr ~]# setenforce 0

在这里插入图片描述
第二步:发送方配置输出日志及接收方IP地址

[root@fyr ~]# vim /etc/rsyslog.conf

在这里插入图片描述
第三步:重启服务并测试(使用logger写入一条测试日志)

[root@fyr ~]# systemctl restart rsyslog
[root@fyr ~]# logger "this is test my fyr"

在这里插入图片描述
第四步:接收方关闭防火墙与selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

在这里插入图片描述
第五步:接收方开启TCP以及端口514

[root@localhost ~]# vim /etc/rsyslog.conf

在这里插入图片描述
第六步:重启服务并查看端口是否被打开

[root@localhost ~]# systemctl restart rsyslog
[root@localhost ~]# ss -ntap |grep 514

在这里插入图片描述
第七步:查看接收方是否能收到发送方的日志记录

[root@localhost ~]# tail -f /var/log/messages

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值