当前位置: 首页 > news >正文

Linux 日志管理

Linux 日志管理

Linux 日志管理笔记


一、日志基础概念

1. 什么是日志?

日志文件是记录系统重要事件的信息文件,包括:

  • 用户登录/退出信息
  • 系统启动/运行/错误信息
  • 安全认证与授权信息(SSH、sudo、密码修改)
  • 邮件、打印、定时任务等服务信息

2. 日志的核心作用

  • 排错:系统故障时,日志是定位问题的第一手资料。
  • 安全审计:记录用户操作、攻击痕迹,排查非法访问。
  • 行为追溯:追踪系统和用户的历史行为,用于合规审计。

二、系统常用日志文件

日志文件 类型 说明 查看方式
/var/log/boot.log 文本 系统启动日志,记录开机过程 cat /var/log/boot.log
/var/log/cron 文本 定时任务(crontab)执行日志 cat /var/log/cron
/var/log/cups/ 目录 打印服务相关日志 查看目录内文件
/var/log/dmesg 文本 内核自检信息,也可直接用 dmesg 命令查看 dmesgcat /var/log/dmesg
/var/log/btmp 二进制 错误登录记录(如密码错误) lastb
/var/log/lastlog 二进制 所有用户最后一次登录时间 lastlog
/var/log/maillog 文本 邮件服务相关日志 cat /var/log/maillog
/var/log/messages 文本 系统通用消息日志,记录绝大多数关键事件 cat /var/log/messages
/var/log/secure 文本 安全认证日志(登录、SSH、sudo、su、密码修改) cat /var/log/secure
/var/log/wtmp 二进制 永久记录用户登录/注销、系统启动/重启/关机事件 last
/var/run/utmp 二进制 当前已登录用户信息,随用户登录/注销动态变化 w / who / users

三、日志管理服务 rsyslogd

1. 服务简介

  • CentOS 6.x:默认日志服务为 syslogd
  • CentOS 7/8:默认日志服务为 rsyslogd,功能更强,且与 syslogd 兼容。
  • 作用:统一收集、管理系统和服务产生的日志,并写入对应的日志文件。

2. 服务状态查看

# 查看 rsyslogd 是否在运行
ps aux | grep "rsyslog" | grep -v "grep"# 查看 rsyslogd 的自启动状态
systemctl list-unit-files | grep rsyslog

3. 日志文件格式

rsyslogd 记录的日志文件,每条记录包含 4 个部分:

  1. 事件产生的时间
  2. 产生事件的主机名
  3. 产生事件的服务名/程序名
  4. 事件的具体信息

示例:/var/log/secure 中的 SSH 登录日志

Nov 12 12:18:37 hspEdu100 sshd[10478]: pam_unix(sshd:session): session opened for user root by (uid=0)

四、rsyslogd 配置文件详解

1. 配置文件路径

/etc/rsyslog.conf

2. 配置文件核心格式

日志类型.日志级别 日志文件路径

  • 第一个 *:日志类型(Facility)
  • 第二个 *:日志级别(Priority)

(1)日志类型(Facility)

类型 说明
auth PAM 认证产生的日志
authpriv SSH、FTP 等登录/验证信息
cron 定时任务(crontab)相关日志
kern 内核相关日志
lpr 打印服务日志
mail 邮件服务日志
news 新闻组服务日志
user 用户程序产生的日志
uucp 主机间通信日志
local1-7 自定义日志设备

(2)日志级别(Priority)

级别从低到高,记录的信息越来越少:

级别 说明
debug 调试信息,日志量最大
info 一般信息日志(最常用)
notice 重要性较高的普通信息
warning 警告级别
err 错误级别,单个功能/模块无法正常工作
crit 严重级别,整个系统/软件无法正常工作
alert 需要立即处理的信息
emerg 内核崩溃等紧急信息
none 不记录任何日志

3. 自定义日志示例

/etc/rsyslog.conf 中添加自定义日志规则:

# 示例:记录所有日志到 /var/log/hsp.log
*..*    /var/log/hsp.log

修改后重启 rsyslogd 服务生效:

systemctl restart rsyslog

五、常用日志查看命令

1. 文本日志(直接查看)

cat /var/log/messages          # 查看完整日志
tail -f /var/log/secure        # 实时监控日志(常用于排查登录问题)
grep "Failed" /var/log/secure  # 过滤错误登录记录

2. 二进制日志(专用命令)

lastb        # 查看错误登录记录(/var/log/btmp)
lastlog      # 查看所有用户最后一次登录时间(/var/log/lastlog)
last         # 查看所有用户登录/注销记录(/var/log/wtmp)
w / who / users  # 查看当前已登录用户(/var/run/utmp)
dmesg        # 查看内核自检信息

六、CentOS 7 vs CentOS 8 日志管理对比

特性 CentOS 7 CentOS 8
默认日志服务 rsyslogd rsyslogd(兼容,同时支持 journald
主要日志文件 /var/log/ 目录下的传统文本日志 保留 /var/log/ 目录,同时引入 journalctl 查看二进制日志
日志查看方式 文本日志用 cat/tail,二进制用专用命令 支持传统方式 + journalctl(统一查看所有日志)
配置文件 /etc/rsyslog.conf /etc/rsyslog.conf(兼容),新增 /etc/systemd/journald.conf

七、日志管理最佳实践

  1. 定期清理日志:避免日志文件过大占满磁盘,可配置 logrotate 实现自动切割与清理。
  2. 监控关键日志:重点关注 /var/log/secure(安全)、/var/log/messages(系统),及时发现异常登录或错误。
  3. 日志备份:定期备份关键日志,用于问题追溯和安全审计。
http://www.zskr.cn/news/1312177.html

相关文章:

  • 手把手教你用Python和SAM搞定CHAOS医学CT数据预处理(附完整代码)
  • REFramework深度解析:如何为RE引擎游戏打造稳定可靠的模组平台
  • 西门子S7-200 PLC步进控制实战:手把手教你用SM66.7状态位实现精准启停与循环
  • 为什么你的电脑音质总是不满意?3步搞定系统级音频优化
  • 如何用3分钟永久保存你的B站缓存视频?m4s-converter详细使用指南
  • Honey Select 2终极汉化去码补丁:5分钟完整安装与优化指南
  • 英雄联盟R3nzSkin内存换肤:终极安全换肤指南
  • 权威推荐!低查重AI教材编写工具,一键生成20万专业教材书稿!
  • MobaXterm实战:一站式打通串口调试与远程SSH管理
  • NotebookLM+STK+Python航天仿真链路搭建:从PDF论文到Orbital Mechanics可视化模型仅需11步(含NASA开源数据集适配秘钥)
  • 创业团队如何利用Taotoken的TokenPlan有效控制AI开发成本
  • 基于rsync的嵌入式Ubuntu系统镜像定制与批量部署实战
  • Windows Cleaner:拯救C盘爆红的终极免费解决方案
  • Windows Cleaner:拯救C盘爆红的终极免费解决方案
  • FanControl 267版:Windows电脑风扇噪音终极解决方案
  • FanControl 267版:Windows电脑风扇噪音终极解决方案
  • Claude Code交互式提示词:让AI听懂你的10个技巧
  • Orange Pi i 96开发板实战:从硬件解析到家庭服务器与物联网应用部署
  • FPGA实战:用Z80与8051软核构建可运行BASIC的复古计算机
  • VSCode导出PDF样式太丑?手把手教你自定义CSS,让技术简历和报告瞬间专业
  • MySQL 8.0.34安装选‘传统认证’还是‘强加密’?一次讲清区别和实际影响
  • 从开关、总线到存储器:图解计算机数据通路,理解累加器R0如何工作
  • Claude Code 插件系统全解析:AI Agent 扩展生态、Marketplace、权限治理、企业级平台化关键技术
  • Ultra96-V2裸机开发实战:从零构建最小系统
  • 告别脏数据:用DivideMix给你的PyTorch模型做个‘数据清洗’(附CIFAR-10实战代码)
  • 3分钟快速上手:Obsidian微信读书插件完整同步笔记终极指南
  • 从RStudio到VSCode:5个场景教你如何高效使用vscode-R插件进行R开发
  • 从集合运算到代码实战:一文搞懂Python中Jaccard相似度的5种计算姿势(附性能对比)
  • HFSS新手避坑指南:边界条件设置顺序搞错,仿真结果差十倍?
  • VSCode里装ESP-IDF插件总失败?试试这个手动升级pip的“卡点”操作