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

相关推荐
怀旧,1 分钟前
【Linux系统编程】23. 线程同步与互斥(下)
linux·运维·服务器
西贝爱学习4 分钟前
pdf转TXT文本,适用于文字型PDF;扫描版PDF需要使用OCR(光学字符识别)技术来识别图中的文字
java·服务器·前端
偶尔上线经常挺尸5 分钟前
《每日一命令18:iptables——Linux防火墙入门》
linux·运维·服务器·iptables·防火墙
magic_now5 分钟前
U-Boot双阶段启动机制深度解析:init_sequence_f[] 与 init_sequence_r[]
linux·嵌入式硬件
叮叮当当054311 分钟前
解决linux终端使用vim方向键失效问题
linux·运维·vim
原来是猿12 分钟前
网络计算器:理解序列化与反序列化(上)
linux·运维·服务器·网络·tcp/ip
执笔仗剑天涯17 分钟前
WSL安装cc-switch
linux·windows·wsl·cc-switch
Cx330❀18 分钟前
从零实现一个 C++ 轻量级日志系统:原理与实践
大数据·linux·运维·服务器·开发语言·c++·搜索引擎
Agent产品评测局18 分钟前
国产vs海外AI Agent方案,制造业场景适配性横评:企业级自动化选型全景深度解析
运维·人工智能·ai·chatgpt·自动化
程序leo源19 分钟前
Linux深度理解
linux·运维·服务器·c语言·c++·青少年编程·c#