插件窝 干货文章 Linux syslog日志记录哪些信息

Linux syslog日志记录哪些信息

日志 记录 错误 syslog 841    来源:    2025-05-07

Linux 系统中的 syslog 是一个标准化的日志记录服务,用于收集和存储系统及应用程序生成的日志信息。这些日志对于系统监控、故障排查和安全审计至关重要。以下是 syslog 记录的主要信息分类及详细说明:


1. 系统核心信息(Kernel Messages)

  • 记录内容:内核运行时事件,如硬件检测、驱动加载、内存错误等。
  • 常见日志
    • 硬件插拔(USB、磁盘)
    • 内核崩溃(OOM Killer 操作)
    • 文件系统错误(如 EXT4-fs error
  • 日志工具dmesg 可直接查看内核缓冲区的日志。

2. 系统服务日志(System Services)

  • 记录内容:系统守护进程(daemons)的运行状态和错误。
  • 常见服务
    • sshd:SSH 登录成功/失败记录。
    • cron:定时任务的执行情况。
    • apache2/nginx:Web 服务访问日志和错误。
    • systemd:服务启动/停止日志(通过 journalctl 查看)。

3. 用户认证与安全(Authentication)

  • 记录内容:用户登录、权限变更、sudo 操作等。
  • 常见日志
    • 成功/失败的登录尝试(通过 auth.logsecure 文件)。
    • sudo 命令执行记录(包括用户、时间、命令)。
    • su 用户切换日志。
  • 配置文件:通常由 pam 模块生成,配置在 /etc/pam.d/ 中。

4. 网络与防火墙(Network & Firewall)

  • 记录内容:网络连接、防火墙拦截事件。
  • 常见日志
    • iptables/nftables 丢弃的流量(DROP 规则触发)。
    • DHCP 分配 IP 记录。
    • DNS 查询错误(如 dnsmasq 日志)。

5. 硬件与存储(Hardware & Storage)

  • 记录内容:磁盘、RAID、USB 设备事件。
  • 常见日志
    • 磁盘 SMART 错误(smartd 服务)。
    • RAID 阵列状态变化(mdadm)。
    • 存储挂载失败(mount 错误)。

6. 应用程序日志(Applications)

  • 记录内容:第三方应用通过 syslog 接口记录的日志。
  • 示例
    • 数据库(MySQL、PostgreSQL)错误。
    • 邮件服务(Postfix)的发送/接收记录。
    • 自定义脚本通过 logger 命令写入的日志。

7. 计划任务(Cron Jobs)

  • 记录内容cron 执行的定时任务输出。
  • 日志位置
    • /var/log/cron(RHEL/CentOS)
    • /var/log/syslog(Debian/Ubuntu,标记为 CRON

日志文件位置

  • 主日志文件
    • /var/log/syslog(Debian/Ubuntu)
    • /var/log/messages(RHEL/CentOS)
  • 分类日志
    • /var/log/auth.log:认证相关。
    • /var/log/kern.log:内核日志。
    • /var/log/daemon.log:守护进程日志。

日志优先级(Severity Levels)

syslog 按严重性分级,从高到低: 1. emerg (0) - 系统不可用。 2. alert (1) - 需立即处理。 3. crit (2) - 严重错误(如硬件故障)。 4. err (3) - 普通错误(服务启动失败)。 5. warning (4) - 警告(配置问题)。 6. notice (5) - 重要正常事件。 7. info (6) - 常规信息。 8. debug (7) - 调试信息。


配置与管理

  • 配置文件/etc/rsyslog.conf/etc/syslog.conf
  • 日志轮转:通过 logrotate 管理(配置在 /etc/logrotate.d/)。
  • 远程日志:可通过 rsyslog 将日志发送到远程服务器。

排查日志的常用命令

  1. 实时查看bash tail -f /var/log/syslog
  2. 按优先级过滤bash grep "err" /var/log/syslog
  3. 按时间范围查询bash journalctl --since "2023-10-01" --until "2023-10-02"

通过合理利用 syslog,管理员可以全面掌握系统状态,快速定位问题。如果需要更详细的日志分析,可以结合工具如 ELK Stack(Elasticsearch + Logstash + Kibana)或 Splunk