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,以此类推。

相关推荐
开开心心就好4 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
火车叼位5 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
css趣多多5 小时前
add组件增删改的表单处理
java·服务器·前端
予枫的编程笔记5 小时前
【Linux进阶篇】从基础到实战:grep高亮、sed流编辑、awk分析,全场景覆盖
linux·sed·grep·awk·shell编程·文本处理三剑客·管道命令
Sheep Shaun5 小时前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
Tfly__5 小时前
在PX4 gazebo仿真中加入Mid360(最新)
linux·人工智能·自动驾驶·ros·无人机·px4·mid360
野犬寒鸦5 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
陈桴浮海5 小时前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
迎仔5 小时前
06-存储设备运维进阶:算力中心的存储管家
运维
生活很暖很治愈5 小时前
Linux——环境变量PATH
linux·ubuntu