A spike into getting some potentially interesting metrics from the AWS API into Prometheus. We're focussing on metrics that aren't surfaced through CloudWatch or some other way.
You'll need to make sure boto3 can make API calls—it reads the necessary things from the environment. This means you'll probably need to set the AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, AWS_DEFAULT_REGION
(and possibly AWS_SESSION_TOKEN
) environment variables.
You can run it locally with python app.py
, this will run the app interactively outputting metrics to stdout. Running the app with python app.py --daemonize
will run the app daemonized. It exposes its metrics on a http server on port 8000.
You can spin up a Prometheus, Grafana and instance of the app with docker-compose up
You can deploy this on PaaS from the sandbox
space in RE as it contains the firebreak-access
user provided service which holds the necessary credentials for AWS read access for EC2 and S3.
Run this curl command - curl https://re-observe-aws-exporter.cloudapps.digital
to get the AWS metrics.