Monitoring the Docker Hub Rate Limit with Prometheus (Guide)

The Problem

Prerequisites

Installing the Helm chart

$ git clone https://github.com/viadee/docker-hub-rate-limit-exporter.git$ helm install docker-hub-rate-limit-exporter/chart --namespace=<desired namespace>
$ kubectl port-forward 8080:80 -n <namespace>
  • max_requests_total: The maximum number of requests you are allowed to do within the 6-hour timeframe.
  • remaining_requests_total: The remaining requests based on your limit and the already sent requests. If this number reaches zero, you are rate-limited in the current timeframe.

Configuring the Prometheus Service Monitor

$ kubectl apply -f serviceMonitor.yaml -n <your namespace>

Configure Docker Hub Credentials

$ helm upgrade docker-hub-rate-limit-exporter/chart --namespace=<desired namespace> --install \
--set config.dockerhubUsername=<you dockerhub username> \
--set config.dockerhubPassword=<Your dockerhub access token>
$ helm upgrade docker-hub-rate-limit-exporter/chart -f values.yaml --namespace=<desired namespace> --install

Creating the Grafana Dashboard

  1. Navigate to your Grafana instance.
  2. Click on Dashboards and then import.
  3. Paste the copied Dashboard json and click on Load.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
cloud @viadee

cloud @viadee

viadee supports you in finding and developing an individual cloud solution for your business model. We’re consultants as well as passionate hands-on-developers.