Home / Observability / Prometheus
Metrics · Scraper

Prometheus

Lo standard de facto per le metriche cloud-native. Pull-based, PromQL, service discovery — la base dell'observability.

PROMETHEUS · open source
Prometheus logo
Cos'è

La base dell'osservabilità moderna.

Prometheus è il secondo progetto graduato della CNCF (dopo Kubernetes), nato in SoundCloud nel 2012 e adottato ovunque ci sia un'infrastruttura container. Modello pull (scrape periodico di endpoint /metrics), TSDB locale, PromQL per query, service discovery dinamica.

Lo deployiamo ovunque ci siano applicazioni da monitorare: un Prometheus per cluster K8s, un Prometheus per edge site, un Prometheus per VM. Locale veloce, retention breve. Per la storia lunga (13+ mesi) usiamo remote_write verso Mimir su Clodino Cloud o on-prem.

Ecosistema enorme: oltre 200 exporter ufficiali (node, blackbox, snmp, postgres, redis, mysql, kafka, nginx, blackbox per HTTP/TCP/ICMP/DNS, ecc.) e altrettanti community. Se esiste un sistema, esiste un exporter.

Caratteristiche chiave

Il modello che ha vinto perché funziona.

Semplice, dimensionale, integrabile.

PromQL

Linguaggio funzionale per query su serie temporali. Sotto-secondo su milioni di serie.

Service discovery

Kubernetes, Consul, EC2, Azure, GCP, file_sd. I target arrivano da soli.

Pull-based

Scrape /metrics ogni N secondi. Health-check implicito, semplice da debuggare.

remote_write

Pusha verso backend long-term (Mimir, Thanos, Cortex). Best-effort, retry, batching.

Recording & alerting

Regole recording per pre-compute query costose. Alerting rules native verso Alertmanager.

Exporter ovunque

200+ exporter ufficiali. Hardware (IPMI, SNMP), DB, broker, OS, cloud, business.

Come lo usiamo

Come deployamo Prometheus su scala flotta.

Prometheus 2.50+Prometheus Operatorkube-prometheus-stacknode_exporterblackbox_exportersnmp_exporterServiceMonitor
  • Un Prometheus per cluster K8s (kube-prometheus-stack), discovery automatica di Pod/Service.
  • Un Prometheus per site edge, retention 24h, remote_write verso Mimir centrale.
  • Federation gerarchica per data center grandi (Prometheus per rack → Prometheus aggregate).
  • Recording rules per pre-compute degli SLO (riduzione fino a 95% del volume).
  • Alerting verso Alertmanager HA con routing per team/severità/orario.
  • Compliance con Prometheus Operator + ServiceMonitor: le metriche entrano da git.
“Prometheus è dove le metriche nascono. Mimir è dove vivono. Grafana è dove le vedi.”
Hands on

Una ServiceMonitor in Kubernetes, e la metrica entra.

yaml · ServiceMonitor~/clodino
$ cat monitoring/checkout.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: checkout
  labels: { release: prometheus }
spec:
  selector:
    matchLabels: { app: checkout }
  endpoints:
    - port: metrics
      interval: 15s
      path: /actuator/prometheus

$ kubectl apply -f monitoring/checkout.yaml
 servicemonitor.monitoring.coreos.com/checkout created
 Prometheus reloaded · 47 new targets discovered

$ promtool query instant 'rate(http_requests_total[5m])'
checkout{route="/v1/cart"}     12.4
checkout{route="/v1/payment"}   3.1

Hai applicazioni K8s da osservare?

Prometheus pronto in ogni cluster, remote_write verso un backend long-term, alerting già cablato.

← Monitoring Parla con noi