Chapter 8. Prometheus metrics under Red Hat Quay

Red Hat Quay exports a Prometheus-compatible endpoint on each instance to allow for easy monitoring and alerting.

8.1. Exposing the Prometheus endpoint

The Prometheus-compatible endpoint on the Red Hat Quay instance can be found at port 9092. Simply add -p 9092:9092 to the docker run command (or expose the port via the Pod configuration in Kubernetes).

8.1.1. Setting up Prometheus to consume metrics

Prometheus needs a way to access all Red Hat Quay instances running in a cluster. In the typical setup, this is done by listing all the Red Hat Quay instances in a single named DNS entry, which is then given to Prometheus.

8.1.2. DNS configuration under Kubernetes

A simple Kubernetes service can be configured to provide the DNS entry for Prometheus. Details on running Prometheus under Kubernetes can be found at Prometheus and Kubernetes and Monitoring Kubernetes with Prometheus.

8.1.3. DNS configuration for a manual cluster

SkyDNS is a simple solution for managing this DNS record when not using Kubernetes. SkyDNS can run on an etcd cluster. Entries for each Red Hat Quay instance in the cluster can be added and removed in the etcd store. SkyDNS will regularly read them from there and update the list of Quay instances in the DNS record accordingly.