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

目录

inode与block

inode的内容

如何查看文件inode号

访问文件的简单流程

inode的大小

硬链接与软连接

日志服务管理

系统日志管理

系统日志个绍

sysklogd 系统日志服务

事件记录格式

xfsdump的命令格式为:

日志文件

日志的功能

日志文件的分类

日志保存位置默认位于: /var/log目录下

主要日志文件介绍

rsyslog 系统日志服务

rsyslog特性

rsyslog配置文件

日志的级别

ELK 日志收集

要想使用rsvslog软件单独实现日志管理

将ssh服务的日志文件独立出来

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


inode与block

每个文件的属性信息,比如: 文件的大小,时间,类型,权限等,称为文件的元数据(meta data 元信息)元数据是存放在inode (index node) 表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息 每一个inode表记录对应的保存了以下信息 inode number 节点号 文件类型 权限 UID GID 链接数(指向这个文件名路径名称个数)0 该文件的大小和不同的时间戳 指向磁盘上文件的数据块指针 有关文件的其他数据

相同设备上 inode 号是不会相同的

inode的内容

目录文件的结构 ·目录也是一种文件 ·目录文件的结构

每个inode都有一个号码,操作系统用inode号码来识别不同的文件 Linux系统内部不使用文件名,而使用inode号码来识别文件 对于用户,文件名只是inode号码便于识别的别称

如何查看文件inode号

1.stat 加目录

2.ls -i 加目录

3.-mtime

最后一次修改文件或目录(内容)的时间

访问文件的简单流程

inode的大小

inode表 也会消耗硬盘空 每个inode的大小一般是128字节或256字节

格式化文件系统时确定inode的总数

使用df-i命今可以查看每个硬盘分区的inode总数和已经使用的数量

硬链接与软连接

硬连接 同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个连接数加-多路径访记软连接 类似于windows里快捷方式,软连接,符号连接

In (link)

In [-s] 源文件或目录... 链接文件或目标位置

加s是软连接 符号连接

img

日志服务管理

系统日志管理
系统日志个绍

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

历史事件:时间,地点,人物,事件

日志级别: 事件的关键性程度,Loglevel

sysklogd 系统日志服务

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

syslogd: system application 记录应用日志

klogd: linux kernel 记录内核日志

事件记录格式

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

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

xfsdump的命令格式为:

xfsdump -f 备份存放位置 要备份路径或设备文件。

常用的备份参数包括以下几种

·-f:指定备份文件目录

·-L:指定标签 session label

-M:指定设备标签media label

-s 备份单个文件 -s 后面不能直接跟路经

使用xfsdump时,需要注意以下的几个限制: 1.不支持没有挂载的文件系统备份,所以只能备份已挂载的 2.必须使用root的权限才能操作; 3.只能备份XFS文件系统 4.备份下来的数据只能让xfsrestore解析; 5.不能备份两个具有相同 UUID 的文件系统(可使用blkid查看)

备份文件xfsdump -f /opt/sdbl_bak /dev/sdb1

日志文件

日志的功能

用于记录系统、程序运行中发生的各种事件

通过阅读日志,有助于诊断和解决系统故障

日志文件的分类

内核及系统日志 由系统服务rsyslog统一进行管理,日志格式基本相似

用户日志

记录系统用户登录及退出系统的相关信息 程序日志

由各种应用程序独立管理的日志文件,记录格式不统-

日志保存位置默认位于: /var/log目录下

主要日志文件介绍

内核及公共消息日志

/var/log/messages

计划任务日志

/var/log/cron

系统引导日志

/var/log/dmesg

邮件系统日志

/var/log/maillog

用户登录日志

/var/log/lastlog

/var/log/secure

/var/log/wtmp

/var/run/btmp

rsyslog 系统日志服务

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

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

rsyslog特性

多线程 快 UDP,TCP,SSL,TLS,RELP 支持的协议多 MySQL,PGSQL,Oracle实现日志存储 支持的数据库 强大的过滤器,可实现过滤记录日志信息中任意部分 自定义输出格式 可以日志 适用于企业级

rsyslog配置文件

/etc/rsyslog.conf 配置文件格式: 由三部分组成 MODULES: 相关模块配置 ·GLOBAL DIRECTIVES: 全局配置 RULES: 日志记录相关的规则配置

日志的级别

ELK 日志收集

ELK: 由Elasticsearch,Logstash, Kibana三个软件组成 非关系型分布式数据库基于apache软件基金会iakarta项目组的项目lucene 1.Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx.Tomcat、系统日志等功能收集日志

2.Logstash对日志进行收集、分析,过滤,并将其存储供以后使用

3.Kibana 可以提供的日志分析友好的 Web 界面

要想使用rsvslog软件单独实现日志管理

1.需要该软件支持 rsyslog 2.修改配置文件 3两个服务都要重启重启

将ssh服务的日志文件独立出来

1.查看ssh服务的日志位置

2.修改ssh配置文件,32下一行添加自己的自定义

3.在76行添加自己的文件位置

4.重启服务

5.关闭防火墙和安全终端

6.ssh自己的ip地址

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

将多台服务器日志远程传输到一台服务器上

只能支持10-20台左右的服务器

  • 将两端的远程服务端口打开

    • vim /etc/rsyslog.conf

  • 客户端:修改配置文件

    • vim /etc/rsyslog.conf

    • 将54行内容复制到55行,并将后面的路径改为IP地址

  • 将日志写入服务端

    • 客户端

  • 服务端

注意:客户端需要先远程连接上服务端,命令:ssh 服务端IP地址

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值