OpenObserve #
OpenObserve ist eine Beobachtungsplattform für Logs, Metriken und Traces. Sie tritt an die Stelle eines Elastic- oder Loki-Stapels und kommt mit deutlich weniger Betriebsmitteln aus.
Quelle #
Zwei Helm-Charts in einem Kustomize-Verbund:
| Chart | Herkunft | Zweck |
|---|---|---|
openobserve |
charts.openobserve.ai | Die Anwendung selbst |
cloudnative-pg |
cloudnative-pg.github.io/charts | PostgreSQL-Operator für die Metadaten |
Dokumentation #
Funktion #
Daten werden über die HTTP-Schnittstelle eingeliefert, üblicherweise von Fluent Bit aus dem Cluster. OpenObserve legt die Datenströme als komprimierte Parquet-Dateien ab und fragt sie über DataFusion ab.
Die Trennung ist wesentlich: die Nutzdaten liegen auf Platte im Container, die Metadaten — Organisationen, Datenströme, Benutzer, gespeicherte Abfragen — in PostgreSQL.
Lokale Anpassungen #
Die Konfiguration erfolgt vollständig über values.yaml.
Wichtige Einstellungen #
| Schlüssel | Wert | Bedeutung |
|---|---|---|
ZO_LOCAL_MODE |
true |
Einzelknotenbetrieb, alle Rollen in einem Pod |
ZO_LOCAL_MODE_STORAGE |
disk |
Ablage auf Platte statt in einem Objektspeicher |
ZO_META_STORE |
postgres |
Metadaten in PostgreSQL |
ZO_HTTP_PORT |
5080 |
Weboberfläche und Einlieferungsschnittstelle |
ZO_GRPC_PORT |
5081 |
Interne Knotenkommunikation |
- Ingress: Traefik am
websecure-EntryPoint. Die Middlewarelocalnetbeschränkt den Zugriff auf das lokale Netz — die Oberfläche ist aus dem Internet nicht erreichbar. - Zertifikat:
certs.yamlfordert über cert-manager und den ClusterIssuerletsencrypt-productionein Zertifikat an. - Zugangsdaten: Der Erstbenutzer und die Anbindungen an SMTP und
Objektspeicher stehen im
auth-Block dervalues.yaml.
Betriebsmittel #
ZO_LOCAL_MODE=true bedeutet einen Knoten ohne Ausfallsicherheit. Für
diesen Cluster ist das die passende Größe; ein verteilter Betrieb erfordert
einen Objektspeicher statt der lokalen Platte.
Die Speicherbelegung folgt der Aufbewahrungsdauer der Datenströme. Diese wird
in der Oberfläche je Datenstrom gesetzt, nicht in der values.yaml — ohne
Begrenzung wächst die Ablage unbegrenzt.
Installation #
Bereitgestellt über ArgoCD mit Kustomize und Helm. Von Hand:
1kubectl kustomize --enable-helm apps/openobserve | kubectl apply -n openobserve -f -Der CloudNativePG-Operator muss vorhanden sein, bevor die Datenbank angelegt werden kann — im Kustomize-Verbund wird er mitinstalliert.
Abhängigkeiten #
- Traefik als Ingress-Controller, samt der Middleware
localnet - cert-manager für das TLS-Zertifikat
- CloudNativePG für die Metadatenbank
- Fluent Bit als Lieferant der Cluster-Logs