Prometheus

Prometheus is an open-source monitoring and alerting toolkit that collects, stores, and queries time-series metrics data. It has become the de facto standard for monitoring infrastructure and applications, especially in Kubernetes environments.

Core Architecture

  • Pull-Based Collection: Prometheus periodically scrapes metrics from HTTP endpoints exposed by applications and exporters (default: every 15 seconds).
  • Time-Series Database: Metrics are stored as time-series data — sequences of timestamped values identified by metric name and key-value labels.
  • PromQL: A powerful query language for selecting, filtering, aggregating, and computing over metrics data.
  • Alert Manager: Evaluates alerting rules against metrics and routes notifications to email, Slack, PagerDuty, etc.

Key Concepts

  • Metrics Endpoint: Applications expose a `/metrics` HTTP endpoint returning metrics in Prometheus format.
  • Exporters: Pre-built adapters that expose metrics from third-party systems (node_exporter for OS metrics, nvidia_gpu_exporter for GPU metrics, mysqld_exporter for MySQL).
  • Labels: Key-value pairs that add dimensions to metrics — `http_requests_total{method="POST", status="200", model="gpt-4"}`.
  • Recording Rules: Pre-compute expensive queries and store results as new metrics for dashboard performance.

Prometheus for AI/ML Monitoring

  • GPU Metrics: Use DCGM Exporter to collect NVIDIA GPU utilization, memory, temperature, and power consumption.
  • Inference Metrics: Track request latency, throughput, queue depth, and error rates for model serving endpoints.
  • Custom Metrics: Instrument application code with Prometheus client libraries to expose model-specific metrics (token counts, cache hit rates, quality scores).

Common PromQL Queries

  • `rate(http_requests_total[5m])` — Requests per second over 5 minutes.
  • `histogram_quantile(0.99, rate(request_duration_seconds_bucket[5m]))` — p99 latency.
  • `avg(gpu_utilization) by (instance)` — Average GPU utilization per server.

Ecosystem

  • Grafana: Primary visualization tool for Prometheus metrics — dashboards, graphs, and alerts.
  • Thanos / Cortex / Mimir: Long-term storage and horizontal scaling for Prometheus.
  • Kubernetes: Prometheus is the native monitoring solution for Kubernetes via kube-prometheus-stack.

Prometheus is a foundational monitoring tool — if you're running any production infrastructure (especially Kubernetes), Prometheus is almost certainly part of your stack.

Take prometheus further

Ask the copilot about this term, or have our engineers assess it against your process.