限制salt minion日志文件的大小



如果没有明显的原因,我的Web服务器上的/var/log/salt/minion文件有时会突然变大,很快就会填满我250GB的磁盘空间。当这种情况发生时,查看日志,这是一个反复抱怨没有驱动器空间的过程。我无法回到驱动器空间填满之前发生的事情。最终的结果是服务器死了。它无法响应网络请求或做任何有用的事情。我很幸运,我可以SSH进入服务器。

我的解决方案很糟糕。我有一个cron作业,它每5分钟检查一次文件的大小。如果它大于1GB,我会删除该文件。结果是,我真的无法知道是什么导致了日志文件的大小爆炸。但是,这是一个生产服务器。当我四处闲逛的时候,我不能让它连续下降几个小时。

是的-我确实有镜像服务器。所有这些都是运行HTTPD24的RHEL7。所有这些都是彼此真实的镜像。所有这些都受到/var/log/salt/minion文件大小的随机爆炸的影响。因此,当一台服务器出现故障时,负载均衡器会将流量转移到其他服务器。

我想要的是一种限制日志文件大小的方法。我过去从来没有用盐或小黄人做过任何事。我没有安装它。它是RHEL7附带的。我已经在谷歌上搜索了几个星期,但我没有看到任何东西可以解释到底是什么将日志发送到爪牙文件,以及如何告诉它我真的不需要这些日志。所以,不要这么做。我也找不到其他有这个问题的人。所以,我认为这是另一个";只有我"问题这就是为什么我专注于直接解决方案:不要让日志文件的大小爆炸,填满驱动器,并杀死服务器。

要回答表面级别的问题:调整logrotate配置。一些RHEL特定指南。

然而,根本问题是您没有适当地配置生产系统。避免此问题的一些常见策略:

  1. 单独的分区。因此,填充一个并不会杀死整个机器。一种常见的安排是//var/var/log的单独分区,但这取决于您的应用程序
  2. 系统监控。因此,您可以查看磁盘使用趋势,并在为时已晚之前收到警报。例如使用Elastic、Nagios、Zabbix等
  3. 外部日志记录。因此,即使服务器无法访问或您在本地删除了它们,您仍然可以查看过去的日志。例如远程syslog或Elastic等
  4. 应用程序配置。因此,只启用了您需要的最低日志级别,并且它们使用适当的文件位置和输出来处理上述问题

最新更新