一、inode与block
1.1inode和block概述
- 文件数据包括辕信息与实际数据
- 文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
block(块) - 连续摆个扇区组成一个block(4k)
- 是文件存取的最小单位
inode(索引节点) - 用于存储文件元信息
- 中文译名为“索引节点”,也叫i节点
- 查看inode的方式
- ls -i 文件名
- stat 文件名
查看block的方式 - block –getbsz 设备
- stat -f 设备名
1.2inode包含文件的元信息
- 文件字节数
- 文件拥有者
- 文件的Group id
- 文件的读、写、执行权限
- 文件的时间戳
1.3Linux系统文件的三个主要时间属性
ctime(change time)
- 最后一次改变文件或目录(属性)的时间
atime(access time) - 最后一次访问文件或(目录)的时间
mtime(modify time) - 最后一次修改文件或目录(内容)的时间
1.4用户通过文件名打开文件的过程
1.5inode的大小
- inode也会消耗硬盘空间,每个inode一般是128字节或者是256字节
- 格式化文件系统时确定 inode 的总数
- 使用 df -i 命令可以查看每个硬盘分区的 inode 总数和已经使用的数量
inode 的特殊作用 - 当文件名包含特殊字符,可能无法正常删除文件,直接删除 inode ,也可以删除文件
- 移动或者重命名文件时,只改变文件名,不影响 inode 号码
- 打开一个文件后,系统通过 inode 号码来识别该文件,不再考虑文件名
1.6模拟磁盘ionde用完
二、日志文件
2.1日志的功能
- 用于记录系统、程序允许中发送的各种事情
- 通过阅读日志,有助于诊断何解决系统故障
2.2日志文件的分类
2.2.1内核及系统日志
- 有系统服务rsyslog统一管理,日志格式级别相似
- 配置文件在/etc/rsyslog.conf里面
2.2.2用户日志
- 记录系统用户登录及退出系统的相关信息
- 配置文件在/var/log目录下
主要日志文件介绍
存放内容 | 存放位置 |
---|---|
内核及公共消息日志 | messages |
计划任务日志 | cron |
系统引导日志 | dmesg |
邮件系统日志 | maillog |
用户登录日志 | lastlog、secure、wtmp、btmp |
/var/log/mesages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障 对于未使用独立日表文件的应用程序成服务,一般都可以从该日表文件中获得相关的事件记录信息
- /var/log/cron: 记录crond计划任务产生的事件信息
- /var/log/dmesg: 记现Linuxx系统在引号过程中的的各种事件信息
- varog/maillog:记录进入或发出系统的电子邮件活动。
- /var/og/lastlog: 记录每个用户最近的等录事件
- /var/log/rpmpkgs; 记录系统中安装的备rpm包列表信息
- /var/oa/secure: 记录用户认证相关的安全事件馆息
- var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件
- /var/run/btmp:记录失败的、错误的登录尝试及验证事件。
2.2.3程序日志
- 有各种应用程序独立管理日志文件,记录格式不统一
2.3日志消息的级别
级号 | 消息 | 级别 | 说明 |
---|---|---|---|
0 | EMERG | 紧急 | 会导致主机系统不可用的情况 |
1 | ALERT | 警告 | 必须马上采取措施解决的问题 |
2 | CRIT | 严重 | 比较严重的情况 |
3 | ERR | 错误 | 运行出现错误 |
4 | WARNING | 提醒 | 可能会影响系统功能的事件 |
5 | NOTICE | 注意 | 不会影响系统但值得注意 |
6 | INFO | 信息 | 般信息 |
7 | DEBUG | 调试 | 程序或系统调试信息等 |
none | 没有优先级 | 不记录热河日志消息 | |
、 |
日志格式
2.2.4日志级别及记录服务内容由/etc/rsyslog.conf决定
- 服务内容 –> 记录日志级别 – > 其它
服务名 | 记录内容 |
---|---|
auth | 用户认证时产生的日志 |
authpriv | ssh、 ftp等登录俏息的验证信息 |
daemon | 一些守护进程产生的日志 |
ftp | FTP产妮独生的目志 |
lpr | 打印相关活动 |
mark | rsyslog服务内部的信息,时间标识 |
news | 网络新闻传输协议(nntp)产生的消息 |
syslog | 系统目志 |
uuep | Unix-to-Unix Copy 两个unix之间的相关通信 |
console | 针对系统控测台的消息。 |
cron | 系统执行定时任务产生的日志。 |
kern | 系统内核目志 |
loca10-1oca17 | 自定义程序使用 |
邮件目志 | |
user | 用户进程 |
三、通过rsyslog收集日志进行统一管理
(1)准备两台服务器,一台用来发送日志,一台服务器用来存放日志
(2)关闭两台服务器的防火墙,selinux
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
(3)修改客户端(发送端)配置文件,并重新启动服务
取消以下四行注释
(4)定义发送格式,发送内容,发送地点,启动rsyslog服务
- #%timestamp% :时间戳
- #%fromhost-ip% :接收的信息来自于哪个节点的 IP
- #%hostname% :主机名
- #%syslogseverity-text% :日志等级
- #%syslogtag% :服务进程
- #%msg% :日志内容
- #接收方 IP 前面一个 @ 表示 TCP 传输,两个 @ 表示 UDP 传输
(5)修改服务端(接收端)配置,重新启动服务
(6)创建日志目录,验证日志文件
3.1日志收集
集群规模小的(30台以下)
- resyslog
- shell/python (脚本)
集群规模大的 - ELK
- 专门收集日志的平台,需要三台以上服务器搭建
四、查看用户登录工具、日志分析
- users、who 、w
4.1last、lastb
- last : 命令用于查询成功登录到系统的用户记录
- lastb :用于查询登录失败的用户记录
4.2日志分析
- access_log (记录客户访问事件)
- error_log (记录错误事件)
分析工具 - 文本查看、grep过滤检索
- awk、sed等文本过滤
- Webalizer、Awstats等日志工具分析
4.3journalctl日志管理工具
选项 | 功能 |
---|---|
-r | 倒序查看日志 |
-k | 查看内核日志 |
-b 0 | 默认是0查看本次启动的日志 |
-b 1 | 查看上一次启动的日志(需更改设置,如上次系统崩溃,需要查看日志时,就要看上一次的启动日志) |
-u | 指定查看某个服务的日志 |
-f | 跟踪查看 |
-n 20 | 只显示最后20行 |
journalctl_PID=1 | 根据服务的PID查看日志 |
journalctl_UID=0 | 查看指定用户的日志 |
4.3日志管理策略
- 设置日志保存期限(通过find过滤日志时间,设置crontab任务定时删除)
- 控制日志访问权限(设置usmak)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/148421.html