日志轮换和备份的最佳做法是什么?

我们知道日志很重要。 维护他们的最佳做法是什么?

日志可以变大 – 所以我们去日志旋转。 当然,我们不想丢失日志 – 所以我们去备份。

处理这些事情的最佳做法是什么? 请指教。

Logrotate是日志旋转和压缩的好工具。 它适用于大多数Unix版本。 我发现在Ubuntu上使用的默认是一个很好的起点。 改变旋转频率时,应该改变旋转次数。

保持日志,只要他们可能是有用的。 如果需要,可存档到非磁盘存储。 对于业务系统,可能存在指导保存和/或销毁日志数据的合法要求。

根据另一个日志中的数据和数据的可用性,数据可以保存一周,一个月,一个季度或一年。 只有重复的数据在一周后被删除。 保留一年的每月备份会给你一年的大部分日志数据。

集中式日志服务器通常提供与日志保留不同的function。 将集中式日志与主机日志比较可能会检测到日志文件被篡改。

我认为BillThor提供了一个很好的答案。 正如他所说,集中日志收集是一个好主意。 如果你把你的日志放到数据库中,你可以做各种即时查询,这可以是非常有用的。 一个有用的开源日志pipe理工具是logstash 。 像splunk这样的商业工具可以达到同样的目的,如果你想得到更多的正式支持,这种工具可能是合适的。

在pipe理单个服务器上的日志时还需要考虑其他事情:日志轮换包含两个组件:按计划轮换,根据文件大小轮换。 您的日志轮换应采取两个帐户。 如果您只是每周轮换一个日志文件,而突然开始logging大量数据,则将耗尽磁盘空间。 同样,如果您只是按文件大小旋转,如果日志量急剧增加,则可能会快速丢失旧日志。 这是考虑集中式日志pipe理的另一个极好的理由。

什么环境?

在Linux上, logrotate是一个好工具。

使用syslog集中logging也是一个好的做法。