AWS Fargate 模块编辑

此功能处于测试阶段,可能会发生变化。设计和代码不如官方 GA 功能成熟,按现状提供,不提供任何保证。测试版功能不受官方 GA 功能支持 SLA 的约束。

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

环境变量默认情况下会注入到使用平台版本 1.4.0 或更高版本的 Amazon ECS on Fargate 任务的容器中,以及在 Amazon EC2 上运行至少 1.39.0 版本的 Amazon ECS 容器代理的 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 并启用 Metricbeat Docker 模块来监控这些容器。

为了实现这一点,您需要

  1. 使用 ssh 密钥结合 EC2 实例确保访问这些 EC2 实例(使用 密钥对 选项在集群创建时附加 ssh 密钥)
  2. 为实例启用 shh 访问,并使用正确的 入站规则
  • 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

度量集

以下度量集可用