Victoria Metrics

Zweck

Victoria Metrics stellt Monitoring und Metrikerfassung für die Kubernetes-Plattform bereit.

Die Plattform ersetzt einen klassischen Prometheus-Stack durch Victoria Metrics Komponenten.

Ziele

  • Zentrale Metrikerfassung

  • Kubernetes Monitoring

  • Langfristige Speicherung von Metriken

  • Grafana Dashboards

  • Kubernetes-native Konfiguration

  • Geringe Ressourcenanforderungen

Architektur

Jeder Kubernetes Cluster betreibt einen eigenen Monitoring Stack.

ServiceMonitor
       |
       v
     VMAgent
       |
       v
    VMSingle
       |
       +--> Grafana
       |
       +--> VMAlert

Die Plattform basiert auf dem Victoria Metrics Operator und dem Victoria Metrics Kubernetes Stack.

Deployment Modell

Jeder Cluster betreibt einen eigenen Victoria Metrics Stack.

Folgende Komponenten werden pro Cluster installiert:

  • Victoria Metrics Operator

  • Victoria Metrics Kubernetes Stack

  • VMAgent

  • VMSingle

  • VMAlert

  • Grafana

Dadurch bleiben Monitoring-Daten innerhalb des jeweiligen Clusters.

Es existiert aktuell kein zentrales clusterübergreifendes Monitoring.

Komponenten

Victoria Metrics Operator

Der Operator installiert und verwaltet die Victoria Metrics Ressourcen.

Aufgaben:

  • CRD Verwaltung

  • Operator Lifecycle Management

  • Bereitstellung der Monitoring-Komponenten

VMAgent

VMAgent sammelt Metriken aus dem Cluster.

Datenquellen:

  • Kubernetes Komponenten

  • Nodes

  • Pods

  • ServiceMonitors

  • VMServiceScrapes

VMSingle

VMSingle dient als zentrale Zeitreihendatenbank.

Eigenschaften:

  • Single Node Deployment

  • Persistente Speicherung

  • Prometheus-kompatible Abfragen

Grafana

Grafana dient als Visualisierungsplattform.

Bereitgestellt werden:

  • Infrastruktur-Dashboards

  • Kubernetes-Dashboards

  • Anwendungs-Dashboards

Grafana ist Bestandteil des Victoria Metrics Kubernetes Stacks.

VMAlert

VMAlert ist installiert und kann für Alerting verwendet werden.

Aktuell sind jedoch keine Alerting-Regeln oder Benachrichtigungen eingerichtet.

Service Discovery

Die Plattform verwendet Prometheus-kompatible CRDs.

Installiert sind:

  • ServiceMonitor

  • PodMonitor

  • VMServiceScrape

Zusätzliche Prometheus-Komponenten werden nicht betrieben.

Cluster Integration

home-tamay-cloud

Grafana wird über Gateway API veröffentlicht.

Beispiel:

grafana.home.tamay.cloud

tamay-cloud

Grafana wird über Traefik Ingress veröffentlicht.

Beispiel:

metrics.tamay.cloud

test-tamay-cloud

Der Cluster verwendet denselben Monitoring-Stack wie die übrigen Cluster und dient zusätzlich zur Evaluierung neuer Plattformkomponenten.

Verwendende Komponenten

Praktisch alle Plattformkomponenten stellen Metriken bereit.

Beispiele:

  • Cilium

  • Cert Manager

  • ExternalDNS

  • Spegel

  • Victoria Logs

  • Piraeus

  • Envoy Gateway

Alerting

Alerting ist aktuell nicht eingerichtet.

Die erforderlichen Komponenten sind bereits vorhanden, werden jedoch derzeit nicht verwendet.

Betrieb

Operator prüfen

kubectl get pods -n victoria-metrics-operator

Monitoring Stack prüfen

kubectl get pods -n victoria-metrics-k8s-stack

VMSingle prüfen

kubectl get vmsingle -A

VMAgent prüfen

kubectl get vmagent -A

ServiceMonitors anzeigen

kubectl get servicemonitors -A

VMServiceScrapes anzeigen

kubectl get vmservicescrapes -A

Einschränkungen

  • Monitoring-Daten werden nicht clusterübergreifend aggregiert

  • Kein verteiltes Victoria Metrics Cluster

  • Kein konfiguriertes Alerting

  • Keine OpenTelemetry Integration

  • Keine zentrale Langzeitarchivierung