温馨提示×

centos message如何分类

小樊
39
2025-12-23 12:39:37
栏目: 智能运维

CentOS 日志消息的分类

一 核心维度

  • 按设施 Facility:标识日志来源,例如 auth/authpriv、cron、daemon、kern、mail、syslog、local0–local7 等。
  • 按优先级 Severity:从低到高依次为 debug、info、notice、warning、err、crit、alert、emerg
  • 按来源组件:由 systemd-journaldrsyslog 协同处理;journald 负责采集与结构化存储,rsyslog 负责按规则写入本地文件或转发到远程。
  • 按用途/内容:常见有系统运行、安全认证、计划任务、邮件、内核/启动、登录会话等类别。

二 默认日志文件与用途

日志文件 主要用途 典型来源/说明
/var/log/messages 大多数系统运行与守护进程消息 由 rsyslog 写入;通常排除 mail、authpriv、cron 等专门文件
/var/log/secure 安全与认证相关 SSH 登录成功/失败、sudo 提权等
/var/log/maillog 邮件系统 Postfix/Sendmail 等邮件服务日志
/var/log/cron 计划任务 crond 调度与任务执行记录
/var/log/boot.log 系统引导过程 开机自检与服务启动输出
/var/log/dmesg 内核与硬件初始化 dmesg 命令内容对应
/var/log/wtmp 登录/注销与会话历史 last 命令查看
/var/log/btmp 失败登录尝试 lastb 命令查看
/var/log/lastlog 最近一次登录信息 lastlog 命令查看

三 rsyslog 选择器与分类规则

  • 选择器语法:由“设施.优先级”组成,例如 authpriv.、mail.info、.err;也支持组合与排除:
    • .xxx 表示大于等于该级别;.=xxx 仅等于该级别;.!xxx 排除该级别;.none 排除某设施。
  • 常见写法示例:
    • 将除邮件、认证、定时任务外的 info 及以上日志写入 messages:
      *.info;mail.none;authpriv.none;cron.none /var/log/messages
    • 认证相关全部记录:
      authpriv. /var/log/secure*
    • 邮件全部记录(使用“-”减少磁盘 I/O):
      mail. -/var/log/maillog*
    • 计划任务全部记录:
      cron. /var/log/cron*
    • 仅记录内核的 err 级别:
      kern.=err /var/log/kern_err.log
  • 动作与停止:匹配后可 & stop 阻止继续处理,或将日志发送到用户/脚本/远程服务器。

四 快速实践建议

  • 按服务拆分日志:在 /etc/rsyslog.d/ 下新增配置,例如将 httpd 的错误日志单独保存:
    if $programname == ‘httpd’ and $syslogseverity <= ‘error’ then /var/log/httpd/httpd_errors.log
    & stop
  • 按优先级分流:将全系统的 err 及以上集中到错误告警文件:
    *.err /var/log/errors_all.log
  • 远程集中:将本机日志发往集中服务器(TCP 更可靠):
    发送端:*.* @@remote-log-server:514
    接收端:加载模块并监听 514 端口(imtcp/imudp)。
  • 日志轮转:使用 logrotate 管理增长,如保留 7 天、每日轮转、压缩旧日志,并在轮转后通知进程重开日志文件。

0