Skip to content

Prometheus

2e projet CNCF apres K8S provient de Soundcloud pas de logs (event-based), pas de tracing (timings, qui passe par où) uniquement time series metrics pas de détection d'anomalie automatique

crée pour les environnements dynamiques / scalables type cloud

archi

service centralisé prometheus targets = les applications à checker, ou des exporters (qui permettent de checker des trucs plus exotiques genre kernel linux) par dessus prometheus, on pose grafana et des fois un alertmanager qui push les alertes

data model

id = (time0, value0), (time1, value 1))

= timeseries

label dimensions (ex: http_request_total where job="nginx" status="500")

promQL

  • expressions (tri, etc)
  • graphs
  • décrire des alertes avec syntaxe "if"

operating

0 clustering, on en run 2 et c tout

local storage: non durable, juste pour quelques semaines ou mois de données

avec un adapter: envoyer vers influxDB par ex ("decoupled remote storage")

Service discovery

choose your strategy: kube, dns A records...

comment ça marche

il cherche un /metrics sur les targets (ex sur lui meme: localhost:9090/metrics) qui donne les metrics à scraper

misc

docker metrics-addr pour checker le daemon lui meme