Linux 日志管理

声明:CentOS系统和Ubuntu系统关于日志管理的一些细节不同,大家注意,了解怎么回事就行

一.介绍

日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。

日志对于安全来说也很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。

系统日志文件的保持位置,/var/log:

下面是系统常用的日志:

|-------------------|-------------------------------------------------------------------------------------|
| 日志文件 | 说明 |
| /var/log/boot.log | 系统启动日志 |
| /var/log/cron | 记录与系统定时任务相关的日志 |
| /var/log/cups | 记录打印信息的日志 |
| /var/log/dmesg | 记录了系统在开机时内核自检的信总,也可以来直接查看内核自检信息 |
| /var/log/btmp | 记录错误登录的日志。这个文件是二进制文件,不能直接用vi查看,要使用astb命令查看 |
| /var/log/lasllog | 记录系统中所有用户最后一次登录时间的日志。这个文件是二进制文件,用使用astb命令查看 |
| /var/log/mailog | 记录邮件信息的日志 |
| /var/log/message | 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息。如果系统出现问题,首先要检查的就是这个文件 |
| /var/log/secure | 记录验证和授权方的信息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户、sudo授权、甚至添加用户和修改用户密码都会记录在这个日志文件中 |
| /var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。是二进制文件 |
| /var/run/utmp | 记录当前已经登录的用户信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息、这个文件不能用vi查看,要使用w、who、users等命令查看 |

二.日志管理服务 rsyslogd

查询 Linux 中的 rsyslogd 服务是否启动:

bash 复制代码
ps aux | grep "rsyslogd" | grep -v "grep"

查询 rsyslogd 服务的自启动状态:

bash 复制代码
systemctl list-unit-files | grep rsyslog

1.配置文件

配置文件位置:/etc/rsyslog.conf

编辑文件时的格式为:*.* 。其中第一个*代表日志类型,第二个*代表日志级别

1)日志类型:

|----------------------|----------------------------|
| auth | pam产生的日志 |
| authpriv | ssh、ftp等登录信息的验证信息 |
| cron | 时间任务相关 |
| kern | 内核 |
| lpr | 打印 |
| mail | 邮件 |
| mark(syslog)-rsyslog | 服务内部的信息,时间标识 |
| news | 新闻组 |
| user | 用户程序产生的相关信息 |
| uucp | unix to nuix copy主机之间相关的通信 |
| local 1-7 | 自定义的日志设备 |

2)日志级别:

|---------|---------------------------|
| debug | 有调试信息的,日志通信最多 |
| info | 一般信息日志,最常用 |
| notice | 最具有重要性的普通条件信息 |
| warning | 警告级别 |
| err | 错误级别,阻止某个功能或模块不能正常工作的信息 |
| crit | 严重级别,阻止整个系统或整个软件不能正常工作的信息 |
| alert | 需要立刻修改的信息 |
| emerg | 内核崩溃等重要信息 |
| none | 什么都不记录 |

从上到下,级别从低到高,记录信息越来越少。

2.文件格式

由rsyslog记录的日志文件包含以下4列:

1)事件产生的时间

2)产生事件的服务器的主机名

3)产生事件的服务名或程序名

4)事件的具体信息

3.自定义日志服务

1)在/etc/rsyslog.conf主配置文件中添加新日志规则;

2)在/ect/rsyslog.d/目录下创建独立的配置文件。

三.日志轮替

日志轮替就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存的范围之后,就会进行删除。

基于logrotate进行日志轮替管理,要想改变日志轮替文件名字,通过 /etc/logrotate.conf配置文件中 dateext 参数:

如果配置文件中有 dateext 参数,那么日志会用日期来作为日志文件的后缀;

如果配置文件中没有 datexxt 参数,日志文件旧需要进行改名。当第一次进行日志轮替时,当前的日志 secure 会自动改名为 secure.1,然后新建 secure 日志,用来保存新的日志。当第二次进行日志轮替时,secure.1 会自动改名为 secure.2,以此类推。

相关推荐
yewq-cn2 小时前
自动更新 Docker 镜像
运维·docker·容器
haluhalu.2 小时前
Linux系统下进程池设计与实现详解
linux·运维·服务器
m0_537473492 小时前
Nginx 生产环境平滑升级实战:从 1.24.0 到 1.28.0 的零宕机操作全记录
运维·nginx
虹梦未来2 小时前
【运维】Ubuntu2404使用新风格更新镜像源
运维·服务器
小麦嵌入式2 小时前
Linux驱动开发实战(十三):RGB LED驱动并发控制——自旋锁与信号量对比详解
linux·c语言·驱动开发·stm32·单片机·嵌入式硬件·物联网
一只旭宝2 小时前
Linux专题四:静态库,动态库,进程进阶以及fork()函数初步
linux·运维
小白不想白a2 小时前
ELB--弹性负载均衡器
运维·负载均衡
乾元3 小时前
自动化补丁评估与策略回滚:网络设备固件 / 配置的风险管理
运维·开发语言·网络·人工智能·架构·自动化
KingRumn3 小时前
Linux进程间通信之D-Bus
linux·算法