Learn how to send AWS ECS data to Wavefront.

Amazon Elastic Container Service (ECS) is Amazon’s Docker container orchestration system. From the Amazon ECS website:

Amazon Elastic Container Service (ECS) is a highly scalable, high-performance container orchestration service that supports Docker containers and allows you to easily run and scale containerized applications on AWS. Amazon ECS eliminates the need for you to install and operate your own container orchestration software, manage and scale a cluster of virtual machines, or schedule containers on those virtual machines.

Wavefront supports an Amazon Web Services built-in integration that allows Wavefront to collect useful high-level metrics about ECS using the AWS CloudWatch API, but that’s only part of your setup.

Overview

The integration basics are covered in our AWS ECS Integration page.

This page provides detailed steps on how to install and configure the Wavefront ECS integration. After you complete these steps, the integration provides:

  • Monitoring of important CloudWatch metrics related to Amazon ECS.
  • Monitoring of detailed metrics about individual containers, services, and clusters running in your AWS ECS environment.

Prerequisites

  • Access to Amazon Web Services.
  • Access to a Wavefront proxy - Preferably running in AWS or a place accessible to your ECS instances.
  • Wavefront AWS integration - Parts of the ECS integration use CloudWatch metrics, which can be acquired by configuring the Wavefront AWS integration.

Configure the AWS Integration

Set up the AWS integration. This allows Wavefront to collect useful high-level metrics about ECS using the AWS CloudWatch API.

Note: To ensure that dashboards display correctly, use only the default EC2 instance name for the ECS cluster.

Create Wavefront cAdvisor Task Definition

Wavefront maintains an image of cAdvisor that includes a Wavefront storage driver. These steps create an ECS task definition that ensures the Wavefront cAdvisor container automatically runs on each EC2 instance in your ECS cluster.

  1. Within AWS Services, navigate to ECS.
  2. Click Task Definitions, then Create new Task Definition. create task def
  3. Select the launch type that you want your task to be compatible with and click Next Step.

    select launch type

  4. Scroll to the bottom of the new Task Definition form and click the Configure via JSON button.
    1. Delete the content and paste the JSON example into the JSON form field:

      paste json

    2. In the JSON form, set the -storage_driver_wf_proxy_host property to <wavefront_proxy_ip_address>:<port> and click Save.

  5. Click the Create button at the bottom of the Task Definition form.
  6. Select Actions > Run Task and specify the task information: actions menu
    1. In the Cluster dropdown, select the cluster on which your task has to run.
    2. Enter the number of tasks (minimum 1) of same definition you want to run.
    3. (Optional) Enter the Task Group name to identify a set of related tasks.
  7. In the Placement Templates dropdown select One Task Per Host. This ensures that each EC2 instance in your ECS cluster has a Wavefront cAdvisor task.

    actions menu

  8. Click Run Task.

View ECS Container Metrics

View the AWS ECS dashboard

db aws ecs