Skip to main content
https://img.shields.io/pypi/v/ecs_service_discovery.svg

Yet another tool to perform ECS API based service discovery. Primarily aimed at gapping the lack of integrations for ECS Anywhere.

Features

  • Creates Prometheus scraping configuration, from scanning ECS clusters & services, based on docker labels

Installation

Docker

Head to Public ECR to obtain the image

docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/compose-x/ecs-service-discovery

Python

For your user only

pip install pip --user ecs-service-discovery

Via virtual environment

pip install ecs-service-discovery

Usage

usage: ecs-sd [-h] [-d OUTPUT_DIR] [--profile PROFILE] [-p PROMETHEUS_PORT] [--intervals INTERVALS] [--prometheus-output-format PROMETHEUS_OUTPUT_FORMAT] [_ ...]

positional arguments:
  _

options:
  -h, --help            show this help message and exit
  -d OUTPUT_DIR, --output_dir OUTPUT_DIR
  --profile PROFILE     aws profile to use. Defaults to SDK default behaviour
  -p PROMETHEUS_PORT, --prometheus-port PROMETHEUS_PORT
  --intervals INTERVALS
                        Time between ECS discovery intervals
  --prometheus-output-format PROMETHEUS_OUTPUT_FORMAT
                        Change the format of generated files. JSON or YAML.

Examples

ECS Compose-X

Install ecs-compose-x & deploy to AWS

Docker Compose

After cloning the repository, run docker compose up. It will spin the service discovery, along with prometheus & grafana to run the demo with. You can access prometheus via localhost:9090 and grafana via localhost:3000 (admin:admin by default).

In prometheus, you can look at the configuration and service discovery. You should see the discovered targets that prometheus is going to try to scrape.

AWS Policy requirements

PolicyName: ECSServiceDiscoverySimple
PolicyDocument:
  Version: "2012-10-17"
  Statement:
    - Effect: Allow
      Action:
        - ecs:ListClusters
        - ecs:ListContainerInstances
        - ecs:ListTasks
        - ecs:DescribeContainerInstances
        - ssm:DescribeInstanceInformation
        - ecs:DescribeTasks
        - ecs:DescribeTaskDefinition
      Resource: '*'

Metadata

Release files for ecs_service_discovery 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ecs_service_discovery 0.1.4
File Size Uploaded
ecs_service_discovery-0.1.4.tar.gz 14.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ecs_service_discovery 0.1.4
File Interpreter ABI Platform
ecs_service_discovery-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 30.4 kB

Release files / ecs_service_discovery-0.1.4.tar.gz

Download URL ecs_service_discovery-0.1.4.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f0c36665dc52d6af254cd280e395780249b5cf13734c5e8fc96380ef54d4daa0
BLAKE2b-256 checksum
How to use checksums
0956134cf3db71544ff7bd446ce6a3ffe74760bd6c11a0b00cb069605be03aa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Linux/6.8.10-200.fc39.x86_64

Release files / ecs_service_discovery-0.1.4-py3-none-any.whl

Download URL ecs_service_discovery-0.1.4-py3-none-any.whl
Size 15.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af2fd10bab5dfd5708fbffa1f76a09e900b26d49cb68bdce8b214b963a6060be
BLAKE2b-256 checksum
How to use checksums
0f285b702a6cff11d25be4e02514d257ee4ba75e622014128df673dae3585399
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Linux/6.8.10-200.fc39.x86_64

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page