AWS Fargate 模块
编辑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 来监控这些容器。
为了实现这一点,需要:
- 使用与 EC2 实例耦合的 ssh 密钥确保对这些 EC2 实例的访问(使用
密钥对
选项在集群创建时附加 ssh 密钥) - 通过适当的入站规则启用对实例的 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
以下指标集可用: