Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

Exports quota limits and usage for Google Compute Platform services

License

Notifications You must be signed in to change notification settings

shipt/gcp-quota-exporter-public

 
 

Repository files navigation

Google Cloud Platform Quota Exporter

Exports limits and usage for metrics available through the GCP APIs (currently only supports Compute Engine).

Usage

  1. Set up a service account in the project you wish to monitor. The account should be given the following permissions:
  • compute.projects.get
  • compute.regions.list
  1. Authentication is performed using the standard Application Default Credentials
  • To use a credentials.json key file export the environment variable GOOGLE_APPLICATION_CREDENTIALS=path-to-credentials.json
  1. The exporter need to know which project to monitor quotas for
  • Specify project using --gcp.project_id; or
  • Export environment variable GOOGLE_PROJECT_ID; or
  • Fetch from compute metadata http://metadata.google.internal/computeMetadata/v1/project/project-id
  1. The exporter can query on specific regions to help alleviate too many API calls
  • Default is set to us-central1, us-east4
  • Override default regions using --gcp.region_list; or
  • Export environment variable REGION_LIST

Useful endpoints

  • {gcp-project-name}.gcp.shipttech.com/health
  • {gcp-project-name}.gcp.shipttech.com/metrics

Docker-compose

  1. Copy the example file and add your project id to it
  2. Change the volume to point to your credentials file if different
  3. Run docker-compose up and you'll have a prometheus instance running at http://localhost:9090 and a gcp-quota-exporter instance running at http://localhost:9592.

Docker

Local Build

docker build -t gcp-quota-exporter .
docker run -it --rm -v $(pwd)/credentials.json:/app/credentials.json -e GOOGLE_APPLICATION_CREDENTIALS=/app/credentials.json -e GOOGLE_PROJECT_ID=project_id gcp-quota-exporter

Official Build

docker run -it --rm -v $(pwd)/credentials.json:/app/credentials.json -e GOOGLE_APPLICATION_CREDENTIALS=/app/credentials.json -e GOOGLE_PROJECT_ID=project_id mintel/gcp-quota-exporter

About

Exports quota limits and usage for Google Compute Platform services

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 90.2%
  • Makefile 7.3%
  • Dockerfile 2.5%