PowerFlex 机架:启用系统日志转发功能时的 /var/log 空间问题

摘要: 本文介绍了由于日志轮换发生频率不够高而导致的 /var/log 空间中的问题。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

当前的 logrotate 配置每周轮换一次消息文件,但如果在 VxFlex Manager 中启用了系统日志转发,则轮换速度可能不够快。

事实:

  • 系统日志转发功能在 VxFlex Manager 中已启用。
  • /var/log 分区正在迅速填满。
  • 这可能因系统而异
  • 在 VxFlex 集成机架或设备系统中的设备上启用远程系统日志,并配置为将系统日志事件发送到 VxFlex Manager

原因

当 /var/log 文件系统为 100% 时,所有资源的资源清点都将失败。
注意如果空间太满而无法执行这些检查,或者空间填满得太快,下面列出的警告或严重警报可能不起作用。

  • 如果 VxFlex Manager UI 为 75%,则 >显示警告:

如果 75%以下 >情况,VxFM UI 会显示警告: 

如果 95%,VxFlex Manager UI 显示严重 > :
如果 95%,则 VxFM UI 显示严重 > :

df -h 显示 /var/log 的已用容量非常高,并且正在快速增长。
PowerFlex /var/log 

解决方案


要在启用了系统日志转发的 VxFlex Manager 设备上修复日志轮换问题,您可以使用以下步骤配置 logrotate、压缩现有日志、更改 rsyslog 设置并降低调试日志级别:

步骤 1:  通过 ssh 连接到 VxFlex Manager 并成为 root 用户: sudo su -

步骤 2:通过确保以下文本存在于以下位置,编辑(vi 编辑器)系统日志 logrotate 规则: /etc/logrotate.d/syslog
 

/var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { size 100M nodateext rotate 5 compress missingok copytruncate postrotate /bin/killall -s SIGHUP -r rsyslog endscript }


步骤 3:  输入以下命令以验证新配置是否已正确保存: 

cat /etc/logrotate.d/syslog


步骤 4:  根据 /var/log 空间填满的速度,选择以下选项之一:
对于不每天填满 /var/log,但需要比每周轮换更快的环境,请使用以下命令将 logrotate 从每周更改为每天:

cp /etc/cron.weekly/logrotate /etc/cron.daily/


对于填充 /var/log 的速度快于每日轮换所能容纳的环境,请使用以下命令将 logrotate 从每日更改为每小时:

cp /etc/cron.daily/logrotate /etc/cron.hourly/


步骤 5:  通过运行以下命令压缩现有文件并释放空间:

for log in `ls /var/log/messages-*`; do sudo gzip $log; done


 
提醒:  如果 /var/log/messages 文件太满,您无法将其压缩,请使用以下命令将其清除: 

cat /dev/null > /var/log/messages


步骤 6:  要验证 logrotate 配置是否正常工作,请运行以下命令: 

logrotate -f /etc/logrotate.d/syslog


 
步骤 7:  要停止将转发的系统日志事件记录到 VxFlex Manager 设备上的 /var/log/messages 文件,请执行以下作:

  • 使用以下命令在 /etc/rsyslog.d/ 下创建 conf 文件:  vi 21-stop-remote-host-syslog-logging.conf
  • 将以下行添加到上面新创建的文件中:  if $fromhost-ip != '127.0.0.1' then ~
  • 通过键入以下命令保存文件:  :wq!
  • 重新启动 rsyslog 服务:  systemctl restart rsyslog.service

提醒:21 是用于 rsyslog 的优先级编号。重新启动后,rsyslog 不会将传入的远程系统日志保存到 /var/log/messages。VxFlex Manager 的本地系统日志仍将保存到 /var/log/messages 中。

注意:即使在 VxFlex Manager 上未启用系统日志转发,也可以将主机指向 VxFlex Manager,这可能会向 /var/log/messages 文件发送垃圾邮件。如果消息文件被淹没,则配置步骤 7,无论 VxFlex Manager 系统日志是否打开。

步骤8:  通过执行以下步骤,在 VxFlex Manager 设备中更改 logstash 的 Debug日志记录级别:

  • 使用以下命令编辑日志记录级别: vi /etc/logstash/logstash.yml
  • 在文件中搜索调试设置
  • 将日志级别从 info(默认)更改为 error

调试设置

  • 编辑以下文件:  vi /etc/logstash/log4j2.properties
  • 在默认配置中,有一行以 rootLogger.appenderRef.console 开头,使用 # 注释此行,如下所示:
  • 通过运行以下命令重新启动 logstash 服务:  systemctl restart logstash


步骤 8:  如果 /var/log 文件系统已满,请重新启动 VxFlex Manager 设备。这可确保所有服务都能正确启动备份。

注意:  发送测试警报,以确保在解决空间问题并重新启动设备后警报连接器正常工作。
 

其他信息

  • 正在为 VxFlex Manager 的未来版本提供停止将系统日志消息记录到 /var/log/messages 的修复。
  • 这与具有系统日志转发功能的任何 VxFlex Manager 版本相关,直至版本 3.4.0.4271。

受影响的产品

Hyper-converged Systems
文章属性
文章编号: 000079795
文章类型: Solution
上次修改时间: 17 10月 2025
版本:  4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。