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

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

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

事实:

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

Cause

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

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

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

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

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

Resolution


要在启用了系统日志转发的 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 设备。这可确保所有服务都能正确启动备份。

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

Additional Information

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

Affected Products

Hyper-converged Systems
Article Properties
Article Number: 000079795
Article Type: Solution
Last Modified: 17 Oct 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.