Grundlagen von Cloud und Containern

In einem System, in dem mehrere Dienste zusammenarbeiten, soll ermittelt werden, welche Dienste eine einzelne Nutzeranfrage in welcher Reihenfolge durchlaufen hat und wie viel Zeit sie jeweils darin verbracht hat. Welche der für Observability genutzten Daten eignen sich dafür am besten?

  1. AMetriken (numerische Zeitreihen wie CPU-Auslastung und Zahl der Anfragen)
  2. BLogs (Aufzeichnungen von Ereignissen, die jeder Dienst ausgibt)
  3. CTraces (Aufzeichnungen des Wegs einer Anfrage und der Zeit jedes Abschnitts)
Antwort und Erläuterung anzeigen

Antwort: C. Traces (Aufzeichnungen des Wegs einer Anfrage und der Zeit jedes Abschnitts)

Observability ist das Maß, in dem sich der innere Zustand eines Systems aus den Daten erschließen lässt, die es nach außen gibt; als Daten dafür werden häufig Metriken, Logs und Traces genannt. Beim Tracing (Distributed Tracing) erhält eine Anfrage einen gemeinsamen Bezeichner, der zwischen den Diensten weitergegeben wird, und Start- und Endzeit der Verarbeitungsabschnitte (Spans) in jedem Dienst werden aufgezeichnet, um den Weg einer Anfrage und die Aufteilung ihrer Zeit zu rekonstruieren. Metriken eignen sich zum Erkennen allgemeiner Trends und Anomalien, Logs zur genauen Untersuchung einzelner Ereignisse, doch um den Fluss einer Anfrage über Dienste hinweg zu verfolgen, sind Traces am besten geeignet. In der Praxis schreibt man den Trace-Bezeichner auch in die Logs und kombiniert alle drei, um Ursachen zu finden.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Cloud und Containern

  1. Welche Kombination ordnet den Linux-Kernelfunktionen, auf denen Container beruhen, nämlich den Namespaces und den cgroups (Control Groups), ihre Aufgaben richtig zu?
  2. Auf einem Linux-Host wird mit Docker ein Container aus einem Image gestartet, das auf einer anderen Distribution als der des Hosts beruht, und darin werden uname -r (zeigt das Release des Kernels) und cat /etc/os-release (zeigt Angaben zur Distribution) ausgeführt. Welche Beschreibung der Ergebnisse ist richtig?
  3. Welche Beschreibung des Verhältnisses zwischen einem Container-Image und einem Container ist richtig?
  4. In einem Container, der aus einem Image gestartet wurde, wird die im Image enthaltene Konfigurationsdatei /etc/app.conf geändert. Was geschieht beim üblichen Speichermechanismus von Docker (etwa overlay2)?
  5. Um das 500 MB große Archiv data.tar.gz zu entpacken, wurde mit dem obigen Dockerfile ein Image gebaut. Obwohl das Archiv nach dem Entpacken im selben RUN gelöscht wurde, blieb das Image um die Größe des Archivs größer. Welche Kombination aus Ursache und Abhilfe ist am besten geeignet?