我们在AWS的ECS平台上运行我们的服务,并将日志发送到AWS CloudWatch。
我们有两种类型的日志,任何容器都可以生成其中一种类型:
审核日志是法规强制要求的,除了更严格的访问控制要求外,它们的保留时间比应用程序日志更长,因此将两者放在同一个日志流中并不是真正的选择。因此,我们使用两个日志流,其中一个位于具有严格访问策略的 CloudWatch 日志组中。
目前,我们正在将日志写入单独的磁盘文件,日志代理将日志条目从磁盘文件发送到 CloudWatch。然而,我们希望切换到“Docker 方式”的日志记录,即将所有日志写入 STDOUT 或 STDERR,并让日志驱动程序处理其余的事情。这听起来特别有吸引力,因为日志磁盘(几乎)是我们正在使用的唯一磁盘安装,摆脱它们确实非常好。(除了日志磁盘之外,我们的容器是严格只读的。)
问题是,我们无法找到一种明智的方法来保持日志流分离。显而易见的事情是以某种方式标记日志消息并稍后将它们分开,但仍然存在一个问题:
希望我们遗漏了一些明显的东西,在这种情况下,我们将非常感谢您的帮助。
如果没有,是否有任何解决方法(甚至是适当的解决方案)来让这种事情发挥作用?