Prometheus Cheatsheet

Prometheus CheatsheetKapitel 08 von 10

Prometheus Operator

Stand Prometheus 3.13 LTS · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

CRDs statt Config-Files

ServiceMonitor (Services), PodMonitor (Pods), Probe (Blackbox/Ingress), ScrapeConfig (Targets außerhalb des Clusters), PrometheusRule (Recording/Alerting), AlertmanagerConfig (Routing-Teilbäume, matchen per Default nur Alerts, deren namespace-Label dem eigenen Namespace entspricht). Der Operator generiert daraus die laufende Prometheus-Konfiguration; die Prometheus-CR wählt CRs per Label-Selektor aus.

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: api
  labels: {team: platform}
spec:
  selector:
    matchLabels: {app: api}
  endpoints:
  - port: http-metrics
    interval: 30s
    path: /metrics

Stolperfallen

port im ServiceMonitor ist der Port-Name des Service, nicht die Nummer. CR wird nicht gescraped? Label-Selektor der Prometheus-CR prüfen, nicht selektierte CRs werden still ignoriert: serviceMonitorSelector: {} wählt alle, fehlt er, wählt er keine; ohne serviceMonitorNamespaceSelector nur den eigenen Namespace. ServiceMonitors nutzen per Default die SD-Rolle endpoints; ab K8s 1.33 in der Prometheus-CR serviceDiscoveryRole: EndpointSlice setzen.