Linux文件系统与日志分析

Linux系统中三个主要的时间权限

atime:访问文件时间,需要打开文件时间才会发生改变
mtime:最近更改时间,文件内容发生改变,时间才会变化
ctime:最近改动时间,文件的权限发生改变,时间才会改动

inode号

1.inode号是有限资源,如果消耗完毕,无法继续新建文件(解决方法就是删除空文件)
2.inode号是唯一的,在同一设备中是唯一的
在不同设备中inode不是唯一的

一、日志

1.日志等级

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

2.服务分类

服务名称说 明
auth(LOG AUTH)安全和认证相关消息 (不推荐使用authpriv替代)
authpriv(LOG_AUTHPRIV)安全和认证相关消息(私有的)
cron (LOG_CRON)系统定时任务cront和at产生的日志
daemon (LOG_DAEMON)与各个守护进程相关的曰志
ftp (LOG_FTP)ftp守护进程产生的曰志
kern(LOG_KERN)内核产生的曰志(不是用户进程产生的)
Iocal0-local7 (LOG_LOCAL0-7)为本地使用预留的服务 某软件 无记录日志的功能,他又支持rsyslog 可以使用 此项来 定义日志
lpr (LOG_LPR)打印产生的日志
mail (LOG_MAIL)邮件收发信息
news (LOG_NEWS)与新闻服务器相关的日志
syslog (LOG_SYSLOG)存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了 syslogd服务的,所以这里并没有修改服务名称)
user (LOG_USER)用户等级类别的日志信息
uucp (LOG_UUCP>uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来 也常用在新闻组服务中

服务程序启动不了解决方法

systemctl status 服务名称
journalctl -xe --nopager
-x 提示信息
-e 显示末尾
–no-pager 自动换行

3.日志管理

系统日志:操作系统做了什么事,发生了什么故障
应用日志:某一程序做了什么事,发生了什么故障

查看日志相关命令

日志作用命令
btmp查看登录失败的用户lastb
lastlog查看用户最后一次登录的情况lastlog
wtmp用户成功登录的日志last

4.rsyslog配置文件

/etc/rsyslog.conf 配置文件格式:由三部分组成

  • MODULES:相关模块配置
  • GLOBAL DIRECTIVES:全局配置
  • RULES:日志记录相关的规则配置

RULES配置格式:

服务程序.记录的日志 日志文件的位置(绝对路径)

例:

sshd.error 含义:记录sshd这个程序的日志,并且只有error及error以上的日志消息会被记录

一个程序想l利用rsyslog软件生成日志,首先得和rsyslog兼容

local 0 - local 7 给你自定义使用

日志实验

1.将ssh服务的日志单独设置

有些软件程序是没有单独的日志服务,我们可以利用rsyslog软件给一些重要的程序生成日志文件

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 #将原本日志存储的位置注释掉
#SyslogFacility是syslog服务的一个参数,用于指定日志消息的设备类型或者来源
#AUTHPRIV是一个特定的设备类型,表示身份验证和安全相关的日志消息
33 SyslogFacility LOCAL6

[root@localhost ~]vim /etc/rsyslog.conf
#76 行添加自己的文件位置
local6.*                                                /opt/ssh.log

[root@localhost log]systemctl restart rsyslog.service sshd
#重启服务

ssh  自己的ip地址

rsyslog  统一收集日志

2.搭建日志服务器(远程日志功能)

#开启日志的远程传输功能在192.168.91.100    10  - 20 台左右的服务器
[root@localhost ~]rpm -ql rsyslog 
/usr/lib64/rsyslog/imtcp.so
/usr/lib64/rsyslog/imudp.so

[root@localhost ~]ss -ntap |grep 514#查看514端口是否打开
[root@localhost ~]systemctl   stop  firewalld
[root@localhost ~]setenforce  0  
[root@localhost ~]vim /etc/rsyslog.conf 
#打开19 20 行    两端都要开
19 $ModLoad imtcp
20 $InputTCPServerRun 514
[root@localhost ~]ss -ntap |grep 514
#查看514端口是否打开

#在192.168.91.101 上设置发送到哪台主机去
[root@centos7-2 ~]vim /etc/rsyslog.conf 
#修改配置文件
54 *.info;mail.none;authpriv.none;cron.none                /var/log/messages
#复制54行                                                   改成ip地址
55 *.info;mail.none;authpriv.none;cron.none                @@192.168.91.100
                                                           #两个@ 代表使用  tcp  一个代表udp
如果修改 的是udp  @192.168.91.100
如果要想指定端口  @192.168.91.100:端口号

[root@centos7-2 ~]logger "this is test log from 192.168.91.101 22"
#测试,写日志进去

日志管理工具journalctl

CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值