温馨提示×

CentOS message日志如何配置

小樊
77
2026-07-20 16:03:15
栏目: 智能运维

在 CentOS 系统中,/var/log/messages 日志的配置主要通过 rsyslog 服务来管理(CentOS 6/7/8 默认使用 rsyslog,CentOS 8 以后也可用 systemd-journald)。下面分情况说明如何配置。


一、确认日志服务

1. 查看是否使用 rsyslog

systemctl status rsyslog

如果未安装:

yum install -y rsyslog
systemctl enable rsyslog
systemctl start rsyslog

二、messages 日志的配置文件

1. 主配置文件

/etc/rsyslog.conf

2. 子配置目录(推荐)

/etc/rsyslog.d/*.conf

三、messages 日志的默认规则

在 /etc/rsyslog.conf 或 /etc/rsyslog.d/*.conf 中,通常会有类似配置:

*.info;mail.none;authpriv.none;cron.none    /var/log/messages

含义:

  • *.info:所有设施的 info 级别及以上日志
  • mail.none:排除 mail
  • authpriv.none:排除认证日志
  • cron.none:排除 cron
  • 最终写入 /var/log/messages

四、自定义 messages 日志配置

1. 修改日志级别

只想记录 warning 及以上:

*.warn    /var/log/messages

2. 只记录指定服务

例如只记录内核日志:

kern.*    /var/log/messages

3. 排除某些日志

*.info;mail.none;local0.none    /var/log/messages

五、远程日志(可选)

将 messages 发送到远程日志服务器:

*.info    @@192.168.1.100:514
  • @ UDP
  • @@ TCP

六、日志轮转(非常重要)

messages 日志由 logrotate 管理。

配置文件

/etc/logrotate.d/syslog

示例:

/var/log/messages {
    daily
    rotate 7
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
    endscript
}

七、CentOS 8 / systemd 情况(journald)

查看 messages 日志

journalctl

持久化日志

编辑:

/etc/systemd/journald.conf
Storage=persistent

重启:

systemctl restart systemd-journald

八、常见问题排查

messages 日志不更新

systemctl status rsyslog
ls -l /var/log/messages

日志过大

  • 检查 logrotate
  • 调整日志级别
  • 增加过滤规则

九、配置后生效

systemctl restart rsyslog

如果你愿意,可以告诉我:

  • CentOS 版本(6/7/8/Stream)
  • 想实现什么目的(如:只记录错误、远程日志、按服务拆分)

我可以给你一份可直接使用的配置文件示例。

0 踩