Linux常见日志介绍

Linux常见日志

一般日志存储在/var/log路径下

  1. 系统与核心日志

记录了操作系统的核心活动、硬件状态和启动信息。

/var/log/syslog (Debian/Ubuntu) 或 /var/log/messages (RHEL/CentOS)

  • 用途: 这是最重要的综合日志文件。它记录了除身份验证相关的绝大多数系统活动,包括系统启动信息、服务错误、内核警告等。
  • 排查场景: 服务启动失败、系统报错、常规故障排查。

/var/log/dmesg

  • 用途: 记录系统启动时内核环缓冲区(ring buffer)的信息。主要涉及硬件检测和驱动加载过程。
  • 注意: 通常使用 dmesg 命令查看,而不是直接读取文件。
  • 排查场景: 硬件识别错误、驱动加载失败。

/var/log/kern.log

  • 用途: 专门记录内核产生的日志信息。
  • 排查场景: 内核崩溃(Kernel Panic)、硬件交互错误、文件系统错误。

/var/log/boot.log

  • 用途: 记录系统启动过程中的服务启动脚本信息(OK/FAILED 状态)。
  • 排查场景: 查看哪些服务在开机时启动失败。

在 Linux 系统中,/var/log 是存放系统和应用程序日志文件的标准目录。对于系统运维、故障排查和安全审计来说,熟悉这些文件至关重要。

以下是 /var/log 下最常见且重要的日志文件及其用途:

1. 系统与核心日志

这些日志记录了操作系统的核心活动、硬件状态和启动信息。

  • /var/log/syslog (Debian/Ubuntu) 或 /var/log/messages (RHEL/CentOS)
    • 用途: 这是最重要的综合日志文件。它记录了除身份验证相关的绝大多数系统活动,包括系统启动信息、服务错误、内核警告等。
    • 排查场景: 服务启动失败、系统报错、常规故障排查。
  • /var/log/dmesg
    • 用途: 记录系统启动时内核环缓冲区(ring buffer)的信息。主要涉及硬件检测和驱动加载过程。
    • 注意: 通常使用 dmesg 命令查看,而不是直接读取文件。
    • 排查场景: 硬件识别错误、驱动加载失败。
  • /var/log/kern.log
    • 用途: 专门记录内核产生的日志信息。
    • 排查场景: 内核崩溃(Kernel Panic)、硬件交互错误、文件系统错误。
  • /var/log/boot.log
    • 用途: 记录系统启动过程中的服务启动脚本信息(OK/FAILED 状态)。
    • 排查场景: 查看哪些服务在开机时启动失败。

2. 安全与身份验证日志

管理员和安全审计人员最常查看的文件。

/var/log/auth.log (Debian/Ubuntu) 或 /var/log/secure (RHEL/CentOS)

  • 用途: 记录所有身份验证和授权相关的活动。包括 SSH 登录(成功或失败)、sudo 命令的使用、用户添加/删除等。
  • 排查场景: 检查暴力破解攻击、审计谁使用了 root 权限。

/var/log/wtmp

  • 用途: 一个二进制文件,记录历史上所有的登录和注销记录。
  • 查看方式: 必须使用 last 命令查看,不可直接 cat
  • 排查场景: 审计过去谁在什么时间登录过系统。

/var/log/btmp

  • 用途: 一个二进制文件,专门记录失败的登录尝试。
  • 查看方式: 必须使用 lastb 命令查看。
  • 排查场景: 发现有人试图猜测密码或暴力破解
  1. 应用与服务日志

许多常用服务会在 /var/log 下创建自己的子目录或特定文件。

/var/log/cron --------/etc/cron.b

  • 用途: 记录定时任务(Crontab)的执行情况,包括脚本何时启动以及是否执行成功。
  • 排查场景: 确认定时备份或脚本是否按时运行。

/var/log/maillog/var/log/mail.log

  • 用途: 记录邮件服务器(如 Postfix, Sendmail)的活动,包括邮件发送、接收和中继信息。

/var/log/httpd/ (Apache) 或 /var/log/nginx/ (Nginx)

  • 用途: Web 服务器通常有独立的目录,里面主要包含两类日志:
    • access.log:记录每一次 HTTP 请求(访问者 IP、URL、状态码)。
    • error.log:记录 Web 服务器运行时的错误或 PHP/Python 后端的报错。

/var/log/mysqld.log/var/log/mysql/

  • 用途: MySQL/MariaDB 数据库的运行日志和错误日志。

4. 常用查看与分析技巧

在处理日志时,以下命令组合非常高效:

需求 命令示例
实时监控日志更新 tail -f /var/log/syslog
翻页查看大文件 less /var/log/messages (按 G 到末尾,? 向上搜索)
搜索特定关键词 grep "Failed password" /var/log/auth.log
查看最后 50 行 tail -n 50 /var/log/dmesg
查看二进制登录记录 last (读 wtmp) 或 lastb (读 btmp)

提示: 如果你在 /var/log 下看到以 .gz 结尾的文件(如 syslog.2.gz),那是 logrotate 服务自动轮转并压缩的历史日志,用于节省空间。可以使用 zcatzgrep 直接查看它们。

posted @ 2026-01-20 11:34  安清灵风  阅读(0)  评论(0)    收藏  举报