Home

Awesome

This repository is not maintained anymore. It's stable and works as it is, it will not have new features or metrics.

ECS exporter Build Status

Export AWS ECS cluster metrics to Prometheus

make
./bin/ecs-exporter --aws.region="${AWS_REGION}"

Notes:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": [
                "ecs:ListServices",
                "ecs:ListContainerInstances",
                "ecs:ListClusters",
                "ecs:DescribeServices",
                "ecs:DescribeContainerInstances",
                "ecs:DescribeClusters"
            ],
            "Resource": "*"
        }
    ]
}

Exported Metrics

MetricMeaningLabels
ecs_upWas the last query of ecs successfulregion
ecs_clustersThe total number of clustersregion
ecs_servicesThe total number of servicesregion, cluster
ecs_service_desired_tasksThe desired number of instantiations of the task definition to keep running regarding a serviceregion, cluster, service
ecs_service_pending_tasksThe number of tasks in the cluster that are in the PENDING state regarding a serviceregion, cluster, service
ecs_service_running_tasksThe number of tasks in the cluster that are in the RUNNING state regarding a serviceregion, cluster, service
ecs_container_instancesThe total number of container instancesregion, cluster
ecs_container_instance_agent_connectedThe connected state of the container instance agentregion, cluster, instance
ecs_container_instance_activeThe status of the container instance in ACTIVE state, indicates that the container instance can accept tasks.region, cluster, instance
ecs_container_instance_pending_tasksThe number of tasks on the container instance that are in the PENDING status.region, cluster, instance

Flags

Docker

You can deploy this exporter using the slok/ecs-exporter Docker image.

Note: Requires AWS credentials or permission from an EC2 instance, for example you can pass the env vars using -e AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} -e AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} options

For example:

docker pull slok/ecs-exporter
docker run -d -p 9222:9222 slok/ecs-exporter -aws.region="eu-west-1"