Logmonitoring mittels Sidecar-Container

Aufmerksamer Beifahrer

Nicht zuletzt für eine zuverlässige Fehleranalyse benötigen Administratoren und Entwickler die vollständigen Protokolle ihrer Anwendungen. Moderne Scale-out-Umgebungen mit Containern erschweren jedoch das Einholen von Logs. Wir stellen Konzepte und Methoden vor, um die Logdateien von Applikationen in Kubernetes-Umgebungen mithilfe eines Sidecar-Containers einzusammeln.
Mitarbeiter wie auch die Unternehmensleitung setzen die Verfügbarkeit von IT-Diensten längst als selbstverständlich voraus. Ungeplante Ausfälle sind deshalb ... (mehr)

Im Artikel "Planen, Packen und Verschiffen" [1] aus der Juli-Ausgabe haben wir Mittel und Wege vorgestellt, um Applikationen in Containern laufen zu lassen. An die Stelle einer großen monolithischen VM mit allen Diensten tritt hier eine Gruppe von mehreren kooperierenden Containern, die jeweils nur einen Dienst betreiben. Um die Verfügbarkeit und Performance zu verbessern, skalieren containerisierte Applikationen die Zahl der jeweiligen Container je nach Bedarf. So lassen sich auch einzelne Komponenten einer Applikation separat vom Rest ändern, beispielsweise für ein Update.

Das klassische Beispiel für die moderne Scale-out-Architektur sind Webapplikationen. Eine Reihe von Containern stemmt das Datenbank-Backend, wieder andere beherbergen ein klassisches Netzwerk-Dateisystem für statische Inhalte. Eine skalierende Gruppe betreibt das Web-Frontend der Anwendung. Redundante Container mit einem Message-Bus oder einem Key Value Store sorgen für die Kommunikation aller beteiligten Komponenten. Die Anwendungsentwickler des Frontends können ihren Teil der Anwendung dynamisch ändern und updaten, ohne dabei die Funktion des Back­ends oder anderer Komponenten zu behelligen.

Eine Scale-out-Architektur bringt aber auch eine ganze Reihe von Herausforderungen mit sich – und das nicht nur für die Anwendungsentwickler. Auch die Administratoren einer skalierenden Umgebung müssen stets den Überblick behalten. Das betrifft sowohl die Metriken als auch die Logs. In monolithischen Szenarien kann der Administrator einfach einen Logkollektor-Client in die Anwendungs-VM integrieren und diesen mit statischen Konfigurationen versehen. Bei dynamisch skalierenden Umgebungen funktioniert das nicht mehr, denn dort kommen die Logs von sehr vielen Containern mit stets wechselnden Namen und Adressen.

Die meisten kommerziellen Kubernetes-Implementierungen kümmern sich von Haus aus um die Metriken. Denn der Management-Layer benötigt Informationen wie

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021