文件系统和日志分析

ZYC·2023-11-08 20:06·153 次阅读

文件系统和日志分析

文件系统

查看inode号 ls -i /stat +文件名

atime 最后一次查看文件 需要打开文件才会变更

mtime 最近修改文件内容时间 注意(更改完内容之后,ctime也会改变

ctime 最近更改文件元信息的时间 比如改变时间

查看日志 是为了关注里面的内容

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

df -i 查看inode号(已用,剩余)

 

 

 

直接指针 :(默认12个) 直接指向实际数据地址 最大文件(4*12)=48k

间接指针:由于文件过大,直接指针无法满足超过48k的文件,所以出现了间接指针,间接指针指向的不是实际数据,而是指针,指针数为4k/4字节,每个指针4字节

 

inode 表 也会消耗硬盘空间 (128或256字节 )

 #cp/passwd到当前目录。查看indoe和修改时间。cp完mtime和ctime时间改变

 #该权限只有ctime时间会改变

日志

日志级别:loglevel 一共7个级别

等级名称说 明
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认证信息服务产生的日志,所有的日志等级都记录

 

rsyslog (提供了日志管理功能)#

自定义输出格式: ( 时间 地点 人物 事件).

 

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

 

配置文件#

配置文件路径  /etc/rsyslog.conf

格式  三部分组成#

MODULES:相关模块配置

GLOBAL DIRECTIVES:全局配置

RULES:日志记录相关的规则配置

 

ELK 日志收集#

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

  • 非关系型分布式数据库基于apache软件基金会jakarta项目组的项目lucene

  • Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能

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

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

 

日志文件#

  • /var/log/secure:系统安全日志,文本格式,应周期性分析

  • /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看

  • /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看

  • /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看

  • /var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况

  • /var/log/boot.log 系统服务启动的相关信息,文本格式

  • /var/log/messages :系统中大部分的信息

  • /var/log/anaconda : anaconda的日志操作系统安装时安装的软件信息

 #

实验将ssh服务的日志单独设置#

 

 

#   打开两个服务器  其中一个服务器查询openssh-server的文件列表

 

 #去/etc/下的ssh  里查看需要的配置文件

 #服务端  编辑

#找到这里并复制

 #复制一个粘贴到下面  yy  p

 #两个日志所以注销上面的,将粘贴的 后面改成local6 (将日志放在哪个类型里)(本地自定义服务)  保存退出

 #进入另一个服务器 编辑

 #找到这里

 #复制类型加个local6   存放地址放在data下取名yy.log   保存退出

 #重启这两个

 #切换到data目录下,查看有无yy.log文件  实时查看yy.log后十行

sshd日志独立出来了。

 

实验 网络日志 (远程日志功能)#

 #先开两个服务器

 #先去test26服务器下编辑

 #开启 19 和20这两行   保存退出

 #重启 rsyslog

 #去25服务器 编辑

 

#切到 54行 复制 粘贴到下一行,将后面地址改成服务器26的IP地址  @@表示 用TCP

 #再切到19 20行 开启  保存退出

 #过滤下514

 #重启

 #两个服务器都要关闭防火墙 和安全机制

 #将25服务器的hostname 改成test  防止量服务器重名

 #在26服务器查看/var/logmessages  实时查看后十行

 #在25服务器里测试 写日志

 #26服务器 收到25服务器写的日志

 

多网卡实验#

 

 #添加个网络

 #这个有√的得去掉,不然会自动生成IP地址

 

#新添加的网络设备器,什么都没有

 #切换路径

 #没有新建的ens36

 #复制ens33到当前目录下取名ens36

 #编辑ens36

 #进入此界面

 

 #将一些ens33的改成ens36

#将IP改掉  将uuid删除   保存退出

 #重启下服务

 #网络设备器已改好

posted @   citywalk  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示
目录