Zum Inhalt springen

Monitoring

Kubetail stellt fuer jede Komponente Health-Check-Endpunkte und strukturierte Logausgabe bereit. Diese Seite beschreibt, wie Sie den Zustand von Kubetail selbst ueberwachen, wenn es in Ihrem Cluster bereitgestellt wird.


Jede Komponente stellt einen Health-Endpunkt bereit, den die Liveness- und Readiness-Probes Ihres Clusters verwenden, um den Zustand des Pods zu bestimmen.

Sowohl das Dashboard als auch die Cluster API stellen einen HTTP-Health-Endpunkt bereit:

GET /healthz

Das Helm-Chart konfiguriert Liveness- und Readiness-Probes fuer diesen Endpunkt automatisch. Sie koennen denselben Endpunkt auch verwenden, um den Status einer Komponente manuell zu pruefen:

Terminal-Fenster
kubectl exec -n kubetail-system deploy/kubetail-dashboard -- \
wget -qO- http://localhost:8080/healthz

Der Cluster Agent stellt auf seinem gRPC-Port (:50051) einen standardkonformen gRPC-Health-Dienst bereit. Das Helm-Chart verwendet grpc_health_probe innerhalb des Containers, um Readiness und Liveness zu pruefen.


Alle drei Komponenten erzeugen standardmaessig strukturierte Logs im JSON-Format. Jeder Log-Eintrag enthaelt einen Zeitstempel, ein Log-Level und kontextbezogene Felder wie request_id, um einzelne Anfragen durch das System zu verfolgen.

LevelBeschreibung
debugAusfuehrliche Ausgabe, einschliesslich interner Details zur Request-Weiterleitung
infoNormale Betriebsnachrichten (Standard)
warnBehebbare Probleme, die Aufmerksamkeit erfordern koennten
errorFehler, die die Anfrageverarbeitung beeintraechtigen
disabledKeine Log-Ausgabe

Log-Level und Format werden pro Komponente ueber runtimeConfig in Ihren Helm-Werten konfiguriert:

kubetail:
dashboard:
runtimeConfig:
logging:
level: info
format: json # json or pretty
access-log:
enabled: true
hide-health-checks: true # suppress /healthz from access logs
clusterAPI:
runtimeConfig:
logging:
level: info
format: json
access-log:
enabled: true
hide-health-checks: true
clusterAgent:
runtimeConfig:
logging:
level: info
format: json

Dashboard und Cluster API enthalten ein HTTP-Access-Log, das jede eingehende Anfrage aufzeichnet. Access-Log-Eintraege enthalten die HTTP-Methode, den Pfad, den Statuscode, die Dauer, die Remote-Adresse und die Request-ID. Sie koennen Health-Check-Anfragen aus dem Access-Log ausblenden, um Rauschen zu reduzieren:

logging:
access-log:
enabled: true
hide-health-checks: true

Um den Gesamtzustand der Kubetail-Bereitstellung zu pruefen:

Terminal-Fenster
kubectl get pods -n kubetail-system

Alle Pods sollten den Status Running anzeigen und erfolgreiche Readiness-Probes haben. Wenn ein Pod nicht bereit ist, pruefen Sie seine Events und Logs:

Terminal-Fenster
kubectl describe pod -n kubetail-system <pod-name>
kubectl logs -n kubetail-system <pod-name>