【问题标题】:Sending logs and metrics from ECS Fargate containers to Datadog将日志和指标从 ECS Fargate 容器发送到 Datadog
【发布时间】:2022-12-15 13:18:18
【问题描述】:

我们正在探索使用 Datadog 作为 Fargate 日志和 JVM 应用程序指标的最终目标。在做一些我们探索的研究时,我们将不得不为 Datadog 代理运行一个 sidecar,它将收集指标并发送给 Datadog。同样,我们将不得不使用 AWS firelens 驱动程序启动 another sidecar container for logs as it needs to be done through Fluentbit 路由器容器。

我仍然不确定:

  • 我们是否可以与应用程序同时运行两个边车 容器。
  • 运行两个 sidecar 容器是否会占用大量资源并影响 整体任务资源
  • 是否有任何其他选项或方法可以更有效地做到这一点?

PS:我排除了通过 Cloudwatch 方法收集 lambda 的可能性。

【问题讨论】:

    标签: logging monitoring amazon-ecs aws-fargate datadog


    【解决方案1】:
    • 我们是否可以使用应用程序容器同时运行两个边车。

    ECS支持up to 10 containers per task definition。所以你最多可以有 9 个 sidecar 容器。

    • 运行两个 sidecar 容器是否会占用大量资源并影响整体任务资源

    我对此表示怀疑。唯一确定的方法是测试它并查看。但是那些 sidecars 不应该过多地使用 CPU,它们只是定期向 DataDog 发送一些信息。

    • 是否有任何其他选项或方法可以更有效地做到这一点?

    PS:我排除了通过 Cloudwatch 方法收集 lambda 的可能性。

    不,没有另一种方法。您正在遵循 DataDog 推荐的实施。

    【讨论】:

      【解决方案2】:

      Lambda 收集将花费您更多。

      是的,sidecar 是我们运行 firelens 日志路由器容器和数据代理 sidecar 容器的推荐方法。但是,我们已将日志路由器固定到最大 50 的内存限制。

      【讨论】: