文件系统和日志分析
文件系统
查看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时间会改变
日志
等级名称 | 说 明 |
---|---|
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认证信息服务产生的日志,所有的日志等级都记录 |
#
自定义输出格式: ( 时间 地点 人物 事件).
#
-
-
主程序:/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
-
配置文件#
配置文件路径 /etc/rsyslog.conf
格式 三部分组成#
MODULES:相关模块配置
GLOBAL DIRECTIVES:全局配置
RULES:日志记录相关的规则配置
#
ELK:由Elasticsearch, Logstash, Kibana三个软件组成
-
非关系型分布式数据库基于apache软件基金会jakarta项目组的项目lucene
-
Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能
-
Logstash对日志进行收集、分析,过滤,并将其存储供以后使用
-
Kibana 可以提供的日志分析友好的 Web 界面
日志文件#
-
-
/var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
-
/var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
-
/var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
-
/var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况
-
/var/log/boot.log 系统服务启动的相关信息,文本格式
-
/var/log/messages :系统中大部分的信息
-
#
#
# 打开两个服务器 其中一个服务器查询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删除 保存退出
#重启下服务
#网络设备器已改好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?