使用Spring-Cloud-docker在ecs中通过Cloud-Watch处理日志记录的最佳实践[关闭]

问题描述 投票:0回答:1

我现在尝试用几天来设置我的docker-container,其中有一个运行的spring-cloud应用程序

  • 使用“docker logs”登录ec2-instance
  • 在Cloud-Watch的logGroup中显示我的日志记录条目

到目前为止我的最好结果是:我进入Cloud-Watch上面的20行日志(Spring-Brand in Ascii-Art and Spring版本)就是这样。那时,EC2-instance上的docker与“docker logs”显示相同,但​​是我的系统上的docker通常会记录下来。但是,我的大多数尝试都没有显示通过“docker logs”或通过Cloud-Watch进行日志记录。但同样,我通过console-appender通过log4j2进行的app-logging运行与配置完全一样。

甚至我的app.jar本地docker也按预期记录(Windows7,Docker Toolbox,不幸的是没有Linux)。只有在EC2实例上才会出现“docker logs”的沉默。

组态:

  • 我有正确的泊坞窗图像吗?的openjdk:8- JDK高山
  • 我的Spring / AWS-Dependencies是否正确(我们主要使用SQS):spring-cloud-aws-messaging,spring-cloud-aws-autoconfigure,spring-boot-starter-web,aws-java-sdk-sts
  • 我现在需要这些日志记录依赖项吗? spring-boot-starter-log4j2(用于commonslogging的所有桥接)
  • 我的应用程序中使用的日志记录(通过slf4j的log4j2)可能是问题吗?
  • 我尝试了Console-Appender => STDOUT => awslogs方式。我尝试(另外或交换)cloud-watch-appenders(com.boxfuse.cloudwatchlogs:cloudwatchlogs-java-appender和pro.apphub:aws-cloudwatch-log4j2)。使用这两个appender我修复了一些初始配置错误,然后我看到了...... Cloud-Watch上什么都没有。
  • 在ECS-Task中,我尝试了“awslogs”-Configuration在Cloudwatch中获取Docker-STDOUT(这就是上面提到的前20行日志记录)。我试着用“json-file”-config来查看带有“docker logs”的EC2-instance上的内容。两者都没有导致结果。

你能不能给我一些我可能错过的东西?

为什么只有日志的前20行(Spring-Header?)

为什么appender没有显示结果?我希望它会像“Graylog”一样简单...在log-config中选择了正确的appender-config,瞧,还有日志条目。

您是否有一些教程链接,其中从spring-cloud到Cloud-Watch的记录是主题,并解释了所有必要的部分和步骤?

你有一些片段(Pom,task-json,其他提示),这可能有助于我完成这项工作吗?

改变像Boxfuse这样的“一切就绪”解决方案真的会更好吗?

非常感谢!

PS:我知道ELK-Stack和其他有解决方案,但我真的想先尝试Cloud-Watch。

spring-cloud amazon-cloudwatch amazon-ecs boxfuse
1个回答
0
投票

他们说,您可以保留任务定义的这些字段。他们说,系统将选择适当的默认值。他们说,不要打扰。

似乎我应该在任务定义中为CPU设置一个值...前几行日志似乎是唯一的,0-CPU-Task能够生成...没有其他错误消息。

我哭了......

© www.soinside.com 2019 - 2024. All rights reserved.