温馨提示×

CentOS Syslog日志文件存储位置解析

小樊
32
2025-12-17 12:39:56
栏目: 云计算

CentOS Syslog日志文件存储位置解析

一 核心目录与默认文件

  • 绝大多数系统与应用日志集中在**/var/log/**目录。常见默认文件与作用如下(不同版本或安装组件可能略有差异):
    • /var/log/messages:系统常规信息(非内核、非认证类)。
    • /var/log/secure:认证与安全相关(如SSH登录、PAM 等)。
    • /var/log/maillog:邮件子系统日志。
    • /var/log/cron:计划任务(crond/at)日志。
    • /var/log/boot.log:系统启动过程相关日志。
    • /var/log/dmesg:内核启动与驱动加载信息(亦可用命令 dmesg 查看)。
    • 其他常见:如 /var/log/yum.log(YUM 包管理)、/var/log/audit/audit.log(审计日志,若安装 auditd)。

二 配置与规则如何决定存放位置

  • 传统 Syslog 与 rsyslog 使用“设施(Facility).级别(Priority) → 动作(Action)”规则写入文件,典型规则示例(位于**/etc/rsyslog.conf/etc/rsyslog.d/*.conf**):
    • *.info;mail.none;authpriv.none;cron.none /var/log/messages
    • authpriv. /var/log/secure*
    • mail. -/var/log/maillog*(行首“-”表示异步写入,提升性能)
    • cron. /var/log/cron*
    • local7. /var/log/boot.log*
  • 含义要点:
    • Facility 如:authpriv、cron、mail、kern、local0–local7;级别如:debug、info、notice、warning、err、crit、alert、emerg
    • 动作可为文件路径、终端、远程主机等;同一规则可用“;”并列多个 facility,或用“none”排除某类日志。

三 与 systemd-journald 的关系与二进制日志

  • systemd-journaldrsyslog并行工作:journald 负责采集内核与服务的结构化日志,默认运行时日志位于**/run/log/journal**(重启丢失),持久化日志位于**/var/log/journal**(需创建目录并启用)。
  • 关键配置:/etc/systemd/journald.conf,如参数Storage=(persistent/volatile/auto)控制持久化,ForwardToSyslog=yes表示将日志转发给传统 syslog(rsyslog)。
  • 说明:journald 日志为二进制格式,可用journalctl查询;文本文件型日志仍主要由 rsyslog 按规则写入**/var/log/**下的文件。

四 自定义路径与远程日志示例

  • 自定义日志文件路径
    • 编辑**/etc/rsyslog.conf**添加规则,例如将所有日志写入自定义文件:
      • ** . /var/log/timinglee**
    • 或按设施分离(排除认证类):
      • ** .;authpriv.none /var/log/timinglee**
    • 使配置生效:
      • ** systemctl restart rsyslog**
    • 生成测试日志验证:
      • ** logger “test message”**
      • ** tail -f /var/log/timinglee**
  • 远程日志(UDP 示例)
    • 接收端(服务器)启用 UDP 514:
      • 在**/etc/rsyslog.conf**加载模块并监听端口:
        • ** module(load=“imudp”)**
        • ** input(type=“imudp” port=“514”)**
      • 重启服务并检查端口监听。
    • 发送端配置(客户端)将日志发往服务器:
      • ** . @192.0.2.10:514**(UDP)
      • 重启 rsyslog 后使用 logger 测试。

五 日志轮转与维护要点

  • 系统通过logrotate对**/var/log/下的文本日志进行按大小/时间的轮转与压缩,典型配置位于/etc/logrotate.conf/etc/logrotate.d/**(如 syslog)。
  • 建议:
    • 保持默认轮转策略或按合规要求调整保留天数与压缩方式。
    • 对高写入量日志可结合 rsyslog 的异步写入(行首“-”)与队列机制,降低 I/O 抖动。
    • 若启用 journald 持久化,确保**/var/log/journal**所在分区具备足够空间与正确权限。

0