目录
文件是存储在硬盘上的,硬盘的最小存储单位叫做扇区sector
,每个扇区存储512字节
。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个块block
。这种由多个扇区组成的块,是文件存取的最小单位。块的大小,最常见的是4KB
,即连续八个sector
组成一个block
。
文件数据存储在块中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做inode
,中文译名为索引节点
,也叫i节点
。因此,一个文件必须占用一个inode
,但至少占用一个block
。
元信息-----inode
数据-------block
stat:查看inode信息
[root@localhost ~]# mkdir test
[root@localhost ~]# echo "this is test file" > test.txt
三个主要的时间属性:
ctime
:change time
是最后一次改变文件或目录(属性)的时间,例如执行chmod
,chown
等命令。atime
:access time
是最后一次访问文件或目录的时间。mtime
:modify time
是最后一次修改文件或目录(内容)的时间。
ls? -i:直接查看文件i节点号
[root@localhost ~]# ls -i
33574991 anaconda-ks.cfg 2086 test 33574994 test.txt
查看硬盘分区的inode总数
和已使用
情况
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/centos-root 8910848 26029 8884819 1% /
devtmpfs 230602 384 230218 1% /dev
tmpfs 233378 1 233377 1% /dev/shm
tmpfs 233378 487 232891 1% /run
tmpfs 233378 16 233362 1% /sys/fs/cgroup
/dev/sda1 524288 328 523960 1% /boot
tmpfs 233378 1 233377 1% /run/user/0
作用:
将系统和应用发生的事件记录至日志中,以助于排错和分析使用。
记录的内容包括:时间,地点,人物,事件
级别 | 消息 | 级别 | 说明 |
0 | EMERG | 紧急 | 会导致主机系统不可用的情况 |
1 | ALERT | 警告 | 必须马上采取措施解决问题 |
2 | CRIT | 严重 | 比较严重的情况 |
3 | ERR | 错误 | 运行出现错误 |
4 | WARNING | 提醒 | 可能会影响系统功能的事件 |
5 | NOTICE | 注意 | 不会影响系统但值得注意 |
6 | INFO | 信息 | 一般信息 |
7 | DEBUG | 调试 | 程序或系统调试信息等 |
日志级别数字越小越紧急,一般运维过程中出现4级就要进行检查注意了。
系统日志:
messages:系统大部分信息
secure:和安全相关的信息
用户登录日志:
btmp:查看用户登陆失败的信息。(lastb命令可以查看,应为btmp是一个二进制的文件)
wtmp:哪些用户正常登陆到系统中。(可以使用last命令查看)
功能:
用于记录系统、程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障
分类:
内核及系统日志
由系统服务rsyslog统一进行管理,目志格式基本相似
用户日志
记录系统用户登录及退出系统的相关信息
程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
分析工具:users、who、w、lastb、last
在运维过程中某些服务时自带错误日志和运行日志的,但是有一些服务安装完成后是没有日志的。下面我们以sshd服务为例创建一个日志。
例如sshd本身是有日志的,但是与其他安全服务一样都存放在/var/log/secure/messages文件中不方便我们查看sshd的日志,如果我们将sshd服务的日志单独生成一个日志文件便于我们查看,注意使用Rsyslog创建日志的服务必须支持Rsyslog。
配置文件路径:/etc/rsyslog.conf
分为三大块:
MODULES:相关模块配置
GLOBAL DIRECTIVES:全局配置
RULES:日志记录相关的规则配置
第一步在rsyslog的配置文件(/etc/rsyslog.conf)# RULES #模块中设置ssh服务的local等级为local6并设置日志存路径为/mnt/ssh.logs。其中local6后的.*表示所等级的日志都输出,
.表示等于或高于后面等级日志的都会输出,如果是.=则表示只有等于后面的日志的等级才会输出,如果是.!则表示除了后面等级的其他等级日志全部记录
第二步在ssh服务的服务器端配置文件中(/etc/ssh/sshd_conf)修改自定义rsyslog
重启sshd服务和rsyslog服务
本机ssh自己并查看实时日志是否生成记录
将 ssh服务的日志 文件 独立成出来
原来ssh /var/log/secure
[root@localhost ~]#tail -f /var/log/secure
#查看ssh服务的日志位置
[root@localhost ~]#vim /etc/ssh/sshd_config
#修改ssh配置文件,32下一行添加自己的自定义
32 #SyslogFacility AUTHPRIV
33 SyslogFacility LOCAL6
local 0-7
[root@localhost ~]#vim /etc/rsyslog.conf
#76 行添加自己的文件位置
local6.* /var/log/ssh.log
[root@localhost log]#systemctl restart rsyslog.service sshd
#重启服务
第一步将2台服务器的防火墙以及selinux防护关闭
systemctl stop firewalld
setenforce 0
第二步在业务服务器A和日志服务器B上配置rsyslog服务开启tcp协议,在业务服务器A上将内核和公共日志实时传输到日志服务器B上
?第三步业务服务器A和日志服务器B上重启rsyslog服务并检查514端口是否开启