Die Working Group für strukturiertes Logging hat in Kubernetes 1.24 neue Funktionen zur Protokollierungsinfrastruktur hinzugefügt. In diesem Artikel erfahren Sie, wie Entwickler diese nutzen können, um die Protokollausgaben nützlicher zu gestalten, und wie sie sich aktiv an der Verbesserung von Kubernetes beteiligen können.

Strukturiertes Logging

Das Ziel des strukturierten Loggings besteht darin, die C-artige Formatierung und die daraus resultierenden undurchsichtigen Log-Strings durch Protokolleinträge zu ersetzen, die eine klar definierte Syntax für die separate Speicherung von Nachrichten und Parametern haben, zum Beispiel als JSON-Struktur.

Bei der Verwendung des traditionellen klog-Textausgabeformats für strukturierte Log-Aufrufe wurden Strings ursprünglich mit \n Escape-Sequenzen ausgegeben, es sei denn, sie waren in einer Struktur eingebettet. Für Strukturen konnten Protokolleinträge weiterhin mehrere Zeilen umfassen, mit keiner sauberen Möglichkeit, den Log-Stream in einzelne Einträge zu unterteilen:

I1112 14:06:35.783529 328441 structured_logging.go:51] “using InfoS” longData={Name:long Data:Multiple lines with quite a bit of text. internal:0} I1112 14:06:35.783549 328441 structured_logging.go:52] “using InfoS with\nthe message across multiple lines” int=1 stringData=“long: Multiple\nlines\nwith quite a bit\nof text.” str=“another value”

Jetzt werden die < und > Marker zusammen mit der Einrückung verwendet, um sicherzustellen, dass das Splitting an einem klog-Header am Anfang einer Zeile zuverlässig ist und die resultierende Ausgabe menschenlesbar ist:

I1126 10:31:50.378204 121736 structured_logging.go:59] “using InfoS” longData=< {Name:long Data:Multiple lines with quite a bit of text. internal:0}

I1126 10:31:50.378228 121736 structured_logging.go:60] “using InfoS with\nthe message across multiple lines” int=1 stringData=< long: Multiple lines with quite a bit of text.

str=“another value”

Beachten Sie, dass die Log-Nachricht selbst mit Anführungszeichen ausgegeben wird. Sie soll eine feste Zeichenkette sein, die einen Protokolleintrag identifiziert, daher sollten dort Zeilenumbrüche vermieden werden.

Vor Kubernetes 1.24 verwendeten einige Log-Aufrufe im kube-scheduler weiterhin klog.Info für mehrzeilige Strings, um die unleserliche Ausgabe zu vermeiden. Nun wurden alle Log-Aufrufe aktualisiert, um strukturiertes Logging zu unterstützen.

Die neuen Funktionen des strukturierten Loggings in Kubernetes 1.24 bieten Entwicklern und DevOps-Teams die Möglichkeit, die Qualität ihrer Protokolle erheblich zu verbessern. Nutzen Sie diese Änderungen, um Ihre Anwendungen besser zu überwachen und Probleme schneller zu identifizieren. ayedo unterstützt Sie gerne als Partner bei der Implementierung von Kubernetes-Lösungen!


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



ayedo Redaktion · 08.06.2025 · ⏳ 3 Minuten

Neue Wege im KI-Management: Die Gateway API Inference Extension

Moderne generative KI- und große Sprachmodelle (LLMs) stellen Kubernetes vor einzigartige Herausforderungen im Datenverkehrsmanagement. Im Gegensatz zu typischen kurzlebigen, zustandslosen Webanfragen …

Lesen →

Neue Wege im KI-Management: Die Gateway API Inference Extension
ayedo Redaktion · 06.06.2025 · ⏳ 2 Minuten

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet

Einführung in die Verwaltung von Sidecar-Containern in Kubernetes In der Welt von Kubernetes sind Sidecar-Container nützliche Helfer, die Funktionen erweitern oder zusätzliche Aufgaben für die …

Lesen →

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet
ayedo Redaktion · 05.06.2025 · ⏳ 2 Minuten

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!

Wir freuen uns, die allgemeine Verfügbarkeit der Gateway API v1.3.0 bekanntzugeben! Diese Version wurde am 24. April 2025 veröffentlicht und bringt spannende neue Funktionen mit sich. Was ändert sich …

Lesen →

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Application Performance sollte messbar sein — jederzeit, in Echtzeit

Wer Anwendungen produktiv betreibt, braucht keine schönen Dashboards, sondern harte Daten. Performance-Probleme entstehen nie dann, wenn Zeit für Debugging ist. Sie kommen genau dann, wenn Systeme …

Lesen →

Application Performance sollte messbar sein — jederzeit, in Echtzeit
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Warum betreibt ihr eure App eigentlich noch selbst?

Die Frage stellt sich immer wieder. Entwicklerteams liefern Features, optimieren Releases, bauen saubere Architekturen — und dann hängen sie trotzdem noch in der Infrastruktur. Kubernetes-Cluster …

Lesen →

Warum betreibt ihr eure App eigentlich noch selbst?

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.