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

相关推荐
钓鱼的小小猫11 小时前
从零拿捏Linux(一) ---- 命令(视频秒解)
linux·linux命令
A153625511 小时前
WMS 智能仓情系统推荐:如何实现仓库全局可视与数字化管控
运维·数据库·人工智能
明王明王11 小时前
Ubuntu 26.04 使用 Windows Spotlight:给 Bing Wallpaper 加上 Spotlight 支持
linux·windows·ubuntu
夜月yeyue11 小时前
SOME/IP 服务模型
linux·服务器·单片机·安全·车载系统
程序员z712 小时前
深入理解 GMP 模型:Go 协程调度器的设计与调度场景全解析
服务器·网络·golang
一直C12 小时前
【数据结构】哈希表+算法复杂度与经典排序查找(C语言)
java·linux·开发语言·数据结构·算法·ubuntu·散列表
shujudang12 小时前
从数据闭环到 Agent 协同:企业营销自动化如何演进为智能运营?
大数据·运维·人工智能·数据分析·自动化
小白说大模型12 小时前
Codex 实战:用 AI 写运维脚本
大数据·运维·网络·人工智能·机器学习·prompt
λqaq712 小时前
MySQL 数据库基础(2)约束、用户权限、远程连接、外键与 TCP/UDP 理解
linux·数据库·python·tcp/ip·mysql
数字护盾(和中)12 小时前
和中科技剖析 EDR 绕过全链路,AMSI、ETW 规避技术与防御对策
运维·网络·人工智能·科技·安全·web安全