首页 > 解决方案 > 哪种最佳集中式日志记录方法适合实施和维护以管理 AWS ECS 上的容器?

问题描述

我们正在使用 ECS 迁移到 AWS 上的容器。所以,我正在寻找一些关于集中式日志记录的建议。有人可以建议我在 ECS 上进行应用程序和容器日志记录的最佳和有效方式吗?

其中一些喜欢:1. ELK Stack 2. awslog 驱动程序 3. Cloudwatch 等。

标签: loggingcontainersamazon-ecsamazon-cloudwatchelk

解决方案


很难确定哪种解决方案是最好的,但您可以选择适合您当前情况的解决方案(包括团队规模、技能组合、日志量、预算等)。

  • CloudWatch 日志。这是最简单的一种。您可以使用awsdriver将日志传送到 CloudWatch 日志。
    • 优点:
      • 您不需要维护日志服务。您的团队可以致力于您的业务发展
      • 日志服务可以开箱即用
      • 现收现付
      • 与 S3(用于归档)、分析解决方案(使用 Glue/Athena 偶尔搜索归档日志)的良好集成
    • 缺点:
      • CloudWatch Logs 的 UI/UX 还不错
      • 没有强大的仪表板(相比Kibana
      • 日志洞察适用于大多数情况
      • 如果日志量很大,CloudWatch 日志的数据摄取费用会很昂贵
    • 结论:对于初创团队来说,CloudWatch Logs 是一种特别非常好的解决方案,可以在不维护基础设施的情况下快速启用日志/警报
  • EFK 堆栈(Fluentd/Fluent bit/Elastic search/Kibana)。您可以使用记录器驱动程序firelens将您的日志传送到 ES,然后使用 Kibana 作为仪表板。
    • 优点:
      • 借助功能强大的仪表板利用复杂的 EFK 解决方案
      • 容器和ES设置在同一个AZ,免收数据费
    • 缺点:
      • 你的团队应该有 ES/Kibana 技能方面的专家
      • 您必须维护 ES/Kibana 的基础设施,以便在必要时横向扩展/缩减
  • 其他 PaaS 服务,例如Splunk

此外,您对日志有实时分析要求,您还可以使用firelens将日志传送到流(例如Kinesis, MKS)以进行实时处理。

总之,您必须权衡以根据您的上下文优先级选择最合适的解决方案。


推荐阅读