【Linux系统】Linux文件系统与日志分析

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 【Linux系统】Linux文件系统与日志分析,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、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 自定义程序使用
mail 邮件目志
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

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!