New

The executive guide to generative AI

Read more

AWS Fargate 模块

编辑

此功能处于 Beta 阶段,可能会发生更改。其设计和代码不如正式 GA 功能成熟,并且按原样提供,不提供任何保证。Beta 功能不受正式 GA 功能的支持 SLA 约束。

Amazon ECS on Fargate 提供了一种检索关于任务和容器的各种元数据、网络指标和 Docker 统计信息的方法。这被称为任务元数据端点,此端点可用于每个容器。

默认情况下,环境变量会注入到使用平台版本 1.4.0 或更高版本的 Fargate 上 Amazon ECS 任务的容器中,以及至少运行 Amazon ECS 容器代理 1.39.0 版本的 Amazon EC2 上的 Amazon ECS 任务中。

awsfargate 模块是一个 Metricbeat 模块,用于从任务元数据端点收集 AWS fargate 指标。

AWS ECS 和 Fargate 简介

编辑

Amazon Elastic Container Service (Amazon ECS) 是一种高度可扩展、快速的容器管理服务,可以轻松运行、停止和管理容器。ECS 有两种启动类型,可以定义如何管理计算资源:ECS EC2 和 ECS Fargate。

  • ECS EC2

ECS EC2 启动在 EC2 实例上运行的容器。用户必须管理 EC2 实例。定价取决于正在运行的 EC2 实例的数量。

可以通过在相应的 EC2 实例上部署启用 Metricbeat Docker 模块的 Metricbeat 来监控这些容器。

为了实现这一点,需要:

  1. 使用与 EC2 实例耦合的 ssh 密钥确保对这些 EC2 实例的访问(使用 密钥对选项在集群创建时附加 ssh 密钥)
  2. 通过适当的入站规则启用对实例的 ssh 访问。
  • ECS Fargate

ECS Fargate 通过允许 AWS 管理 EC2 实例,消除了配置、配置和管理 EC2 实例的责任。用户只需要指定容器和任务。定价基于任务的数量。

任务元数据端点

编辑

任务元数据端点以 JSON 格式返回与任务关联的所有容器的Docker 统计信息。此端点只能从任务定义本身内部访问,这意味着 Metricbeat 需要作为任务定义中的 sidecar 容器运行。由于元数据端点只能从 Fargate 任务内部访问,因此没有进行身份验证。

指标集

编辑

目前,我们在 awsfargate 模块中有 task_stats 指标集。

task_stats

编辑

此指标集从端点 ${ECS_CONTAINER_METADATA_URI_V4}/task/stats${ECS_CONTAINER_METADATA_URI_V4}/task 收集运行时 CPU 指标、磁盘 I/O 指标、内存指标、网络指标和容器元数据。

配置示例

AWS Fargate 模块支持 模块中描述的标准配置选项。这是一个配置示例

metricbeat.modules:
- module: awsfargate
  period: 10s
  metricsets:
    - task_stats

指标集

以下指标集可用:

Was this helpful?
Feedback