我们的 Web 应用程序(大约 30 个)使用 log4net 将特定于应用程序的内容记录到集中式日志数据库(Sql Server 2012)中,因此日志数据库很快就会变得非常庞大。因此,我们决定每年更换它,例如重命名当前日志数据库(例如,将 AppLog 重命名为 AppLog2015),然后为 Web 应用程序创建一个新的日志数据库(AppLog)。我们需要保留替换的数据库以供将来查询。
进行这些替换的最佳做法是什么?在替换时,最好简单地设置所有应用程序的停机时间吗?或者是否可以在不停机的情况下替换数据库?
任何建议都值得感激。即使是完全不同的方法建议也欢迎。
答案1
如果您可以在几秒钟内查询一年的日志,那么对我来说这听起来很小。
它并不是微软的解决方案,但对于开源世界中的更大规模,ELK 堆栈很受欢迎。例如 Elastic Search、Logstash、Kibana。阅读它至少应该很有趣,可以了解可扩展的解决方案是什么样子。与微软工具的集成应该是可行的,因为您可以使用 syslog 协议发送日志。如果应用程序是您自己的,这很简单,但如果您的应用程序包含第三方工具,而这些工具不容易做到这一点,那么这可能会很麻烦。