ecs_exporter

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

README

ecs_exporter

CircleCI Go package

This repo contains a Prometheus exporter for Amazon Elastic Container Service (ECS) that publishes ECS task infra metrics in the Prometheus exposition formats.

Run the following container as a sidecar on ECS tasks:

quay.io/prometheuscommunity/ecs-exporter:v0.4.0

An example Fargate task definition that includes the container is available.

To add ECS exporter to your existing ECS task:

  1. Go to ECS task definitions.
  2. Click on "Create new revision".
  3. Scroll down to "Container definitions" and click on "Add container".
  4. Set "ecs-exporter" as container name.
  5. Copy the container image URL from above. (Use the tag for the latest release.)
  6. Add tcp/9779 as a port mapping.
  7. Click on "Add" to return back to task definition page.
  8. Click on "Create" to create a new revision.

By default, it publishes Prometheus metrics on ":9779/metrics". The exporter in this repo can be a useful complementary sidecar for the scenario described in this blog post. Adding this sidecar to the ECS task definition would export task-level metrics in addition to the custom metrics described in the blog.

Compatibility guarantees

All metrics exported by ecs_exporter are sourced from the ECS task metadata API accessible from within every ECS task. AWS can make, and on occasion has made, unannounced (or at least unversioned) breaking changes to the data served from this API, especially the container-level stats served from the /task/stats endpoint. Metrics emitted by ecs_exporter may spontaneously break as a result, in which case we may need to make breaking changes to ecs_exporter to keep up.

In light of these conditions, we currently do not have plans to cut a 1.0 release. When necessary, breaking changes will continue to land in minor version releases. The release notes will document any breaking changes as they come.

Labels

On task-level metrics

None. You may join to ecs_task_metadata_info to add task-level metadata (such as the task ARN) to task-level or any other metrics emitted by ecs_exporter.

On container-level metrics
  • container_name: Name of the container (as in the ECS task definition) associated with the metric.
On network-level metrics
  • interface: Network interface device associated with the metric.

Example output

Check out the metrics snapshots which contain sample metrics emitted by ecs_exporter in the Prometheus text format you should expect to see on /metrics. Note that these snapshots behave as if --web.disable-exporter-metrics were passed when running ecs_exporter, such that standard client_golang metrics are not included.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package ecscollector implements a Prometheus collector for Amazon ECS metrics available at the ECS metadata server.
Package ecscollector implements a Prometheus collector for Amazon ECS metrics available at the ECS metadata server.
Package ecsmetadata queries ECS Metadata Server for ECS task metrics.
Package ecsmetadata queries ECS Metadata Server for ECS task metrics.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL