Go's neues `slog` : Ein performanter strukturierter Logger für Observability

2025-09-12
Go's neues `slog` : Ein performanter strukturierter Logger für Observability

Go 1.21 führt `slog` ein, eine native, performante Lösung für strukturierte Protokollierung, die als neuer Standard gedacht ist. Aufbauend auf `Logger`, `Handler` und `Record` bietet `slog` einen flexiblen und effizienten Ansatz zur Protokollierung. Der Artikel beschreibt die Verwendung von `slog`, einschließlich der Log-Level, kontextbezogener Protokollierung, Attributbehandlung, Levelsteuerung und der Erstellung benutzerdefinierter Handler. Besonders hervorgehoben wird die Verwendung von `slog.Attr`, um fehlerhafte Protokolleinträge zu vermeiden. Performance-Aspekte, die Integration mit OpenTelemetry für verbesserte Observability und Best Practices wie globale Logger und Dependency Injection werden ebenfalls diskutiert. `slog` zielt darauf ab, die Protokollierung von einem nachträglichen Gedanken zu einem entscheidenden Signal für die Observability zu machen.

Mehr lesen

Überwachung meines Minecraft-Servers mit OpenTelemetry und Dash0

2025-05-11
Überwachung meines Minecraft-Servers mit OpenTelemetry und Dash0

Um Multiplayer-Spaß mit den Kindern auf einem Minecraft-Server zu ermöglichen, habe ich einen Java-Minecraft-Server auf einer Linux-VM eingerichtet und ein umfassendes Monitoring mit OpenTelemetry, einem Prometheus-Exporter und Dash0 implementiert. Der OpenTelemetry Java Agent überwacht die JVM-Gesundheit, ein Minecraft Prometheus Exporter sammelt spiel-spezifische Metriken (Spieleranzahl, abgebaute Blöcke usw.), und der OpenTelemetry Collector aggregiert und sendet alle Daten an Dash0. PromQL-Abfragen und Log-Überwachung in Dash0 ermöglichen die Verfolgung des Serverstatus, z. B. Ausfallzeiten und JVM-Neustarts, mit Slack-Benachrichtigungen. Das Projekt war eine unterhaltsame Auffrischung meiner Java- und Linux-Systemadministrator-Kenntnisse. Obwohl das Dashboard einfach ist, ist ein stabiler Server die Priorität.

Mehr lesen
Spiele

Debuggen von React Server Components in Next.js mit OpenTelemetry

2025-01-23
Debuggen von React Server Components in Next.js mit OpenTelemetry

React Server Components (RSCs) bieten Leistungsvorteile, führen aber auch zu Herausforderungen beim Debugging. Dieser Artikel zeigt, wie man OpenTelemetry, ein leistungsstarkes Observability-Framework, verwendet, um die Aktivität von RSCs in Next.js-Anwendungen zu verfolgen. OpenTelemetry ermöglicht das Tracen von Anfragen, das Sammeln von Metriken und das Aggregieren von Logs, wodurch Entwickler Einblicke in die Ausführung von serverseitigen Komponenten erhalten, einschließlich Lebenszyklusereignisse, Datenabrufvorgänge und Rendering-Leistung. Eine Fallstudie aus der Praxis zeigt, wie man eine Seite optimiert, die viele GitHub-API-Aufrufe lädt, indem man OpenTelemetry verwendet. Der Artikel beschreibt die Installation der notwendigen Pakete, das Erstellen einer instrumentation.js-Datei und das Konfigurieren von Datenexportzielen. Er erklärt auch, wie man benutzerdefinierte Spans erstellt, um detailliertere Einblicke zu erhalten.

Mehr lesen
Entwicklung

Automatische Skalierung Ihrer Kubernetes-Anwendungen mit Dash0: Über CPU und Arbeitsspeicher hinaus

2025-01-11
Automatische Skalierung Ihrer Kubernetes-Anwendungen mit Dash0: Über CPU und Arbeitsspeicher hinaus

Dieser Blogbeitrag zeigt, wie Dash0 verwendet werden kann, um Anwendungen auf Kubernetes automatisch zu skalieren. Kubernetes vereinfacht die Skalierung, aber manuelle Anpassungen von Replikaten sind ineffizient. Dash0 automatisiert diesen Prozess durch die Überwachung von Anwendungs-Telemetriedaten. Der Beitrag untersucht drei Arten der Kubernetes-Autoskalierung: Horizontale Pod-Autoskalierung, Vertikale Pod-Autoskalierung und Cluster-Autoskalierung, wobei der Schwerpunkt auf der Horizontalen Pod-Autoskalierung liegt. Er erklärt die Funktionsweise und wie benutzerdefinierte Metriken (wie Latenz) anstelle des ausschließlichen Verlassens auf CPU- und Arbeitsspeichernutzung für optimale Skalierungsstrategien verwendet werden können. Dash0 integriert sich in den Prometheus-Adapter, sodass PromQL-Abfragen an Dash0-Daten verwendet werden können, um HPA anzusteuern, was zu einer automatischen Skalierung basierend auf der Anwendungsleistung und einer verbesserten Benutzererfahrung führt.

Mehr lesen