温馨提示×

centos message和syslog关系

小樊
45
2026-10-08 23:49:58
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)里,message 和 syslog 经常一起出现,但它们并不是一个东西,而是“机制 vs 文件/服务”的关系。下面分层说明。


一、Syslog 是什么

syslog 是一种日志系统标准/机制,用于:

  • 收集系统和服务产生的日志
  • 按设施(facility)和级别(level)分类
  • 决定日志写到哪里(文件、终端、远程服务器等)

在 CentOS 中,syslog 相关概念包括:

  • syslog 协议(RFC 5424)
  • syslog 服务
    • CentOS 6:syslog / rsyslog
    • CentOS 7+:默认是 rsyslog(兼容 syslog)

二、/var/log/messages 是什么

/var/log/messages 是 syslog/rsyslog 生成的一个日志文件,通常包含:

  • 系统启动信息
  • 内核消息(部分)
  • 大多数服务的通用日志
  • 不包含:
    • 认证日志(/var/log/secure)
    • 邮件日志
    • cron 日志(CentOS 中通常在 /var/log/cron)

示例:

/var/log/messages

三、它们的关系(重点)

可以这样理解:

syslog(rsyslog)是“日志管理器”
/var/log/messages 是“它写出来的一个文件”

关系结构:

程序/内核
   ↓
rsyslog(syslog 实现)
   ↓ 根据规则
/var/log/messages
/var/log/secure
/var/log/cron

四、CentOS 中的实际例子

CentOS 7/8/Stream

  • 服务:rsyslog
  • 配置文件:/etc/rsyslog.conf
  • 日志规则示例:
*.info;mail.none;authpriv.none;cron.none    /var/log/messages

含义:

  • 所有 info 及以上级别日志
  • 除了 mail / authpriv / cron
  • 写入 /var/log/messages

五、常见误区

❌ /var/log/messages 就是 syslog
✅ 它是 syslog 规则生成的文件之一

❌ syslog 只写一个文件
✅ syslog 可以写很多文件、远程服务器、数据库

❌ CentOS 一定用 syslog
✅ 新版本也可能用 systemd-journald(journalctl)


六、和 systemd 的关系(补充)

CentOS 7+ 还有:

  • systemd-journald:二进制日志
  • rsyslog:从 journal 取日志 → 写文件

查看日志:

journalctl
journalctl -u nginx

七、一句话总结

syslog(rsyslog)是日志系统,/var/log/messages 是它写出的系统日志文件之一。

如果你愿意,我也可以帮你:

  • 看 CentOS 版本对应的日志方案
  • 配置 syslog 转发
  • 分析 /var/log/messages 报错

0 踩