我现在尝试了几天来设置我的 docker-container 并运行一个 spring-cloud 应用程序
- 使用“docker logs”登录 ec2 实例
- 在 Cloud-Watch 的 logGroup 中显示我的日志记录条目
到目前为止我最好的结果:我在 Cloud-Watch 中获得了日志的前 20 行(Ascii-Art 和 Spring 版本中的 Spring-Brand),仅此而已。当时 EC2 实例上的 docker 显示与“docker logs”相同,但是我系统上的同一个 docker 像往常一样记录。但是,我的大多数尝试都没有显示通过“docker logs”或 Cloud-Watch 进行日志记录。但同样,我的控制台附加程序通过 log4j2 进行的应用程序日志运行与配置完全一样。
甚至我的本地 docker 与 app.jar 的日志也符合预期(不幸的是,Windows7、Docker 工具箱,没有 Linux 可能)。只有在 EC2 实例上,“泊坞窗日志”才会保持沉默。
配置:
- 我有正确的泊坞窗图像吗?openjdk:8-jdk-alpine
- 我的 Spring/AWS-Dependencies 是否正确(我们主要使用 SQS):spring-cloud-aws-messaging、spring-cloud-aws-autoconfigure、spring-boot-starter-web、aws-java-sdk-sts
- 我是否需要我现在使用的这些日志记录依赖项? spring-boot-starter-log4j2 (um alle Brücken für CommonsLogging zu haben)
- 我的应用程序中使用的日志记录(通过 slf4j 的 log4j2)可能是问题吗?
- 我尝试了Console-Appender=>STDOUT=>awslogs方式。我尝试了(另外或作为交换)cloud-watch-appenders(com.boxfuse.cloudwatchlogs:cloudwatchlogs-java-appender和pro.apphub:aws-cloudwatch-log4j2)。使用这两个附加程序,我修复了一些初始配置错误,然后我看到...... Cloud-Watch 上什么都没有。
- 在 ECS 任务中,我尝试了“ awslogs ”-配置以在 Cloudwatch 中获取 Docker-STDOUT(这就是导致上述前 20 行日志记录的原因)。我尝试使用“ json-file ”-config 在 EC2-instance 上使用“docker logs”查看某些内容。两者都没有导致预期的结果。
你能给我一些我可能错过的东西吗?
为什么只有日志的前 20 行(Spring-Header?)
为什么附加程序不显示希望的结果?我希望它像“Graylog”一样简单......在日志配置中选择了正确的附加配置,瞧,有日志条目。
您是否有一些教程链接,其中从 spring-cloud 到 Cloud-Watch 的日志记录是主题,并解释了所有必要的部分和步骤?
您是否有一些片段(Pom、task-json、其他提示)可以帮助我完成这项工作?
改变像 Boxfuse 这样的“一切就绪”的解决方案确实会更好吗?
十分感谢!
PS:我知道ELK-Stack等有解决方案,但我真的很想先尝试Cloud-Watch。