Monitoringsysteme mit Docker - Leischner
Praktikumsblatt 3 - App-Installationen
Aufgabe 1 - Installation Telegraf
Ziel der Aufgabe: Installation und erster Test des plugin-getriebenen Server-Agents
Telegraf. Telegraf soll direkt (nicht in Docker) auf Ihrem Server moni21
laufen.
- Installieren Sie Telegraf (ohne Docker) auf Ihrem Server
moni21
. Wie sind Sie dabei vorgegangen?
- Prüfen Sie, ob Telegraf nach einem Neustart des Systems
läuft. Welche Version von Telegraf haben Sie installiert?
- Die Konfigurationsdatei
/etc/telegraf/telegraf.conf
ist
unübersichtlich groß. Geben Sie eine kleine, entschlackte
Konfigurationsdatei telegraf.conf
an, die nur
die CPU-Daten liefert. Wie können Sie diese
Konfigurationsdatei mit einem CLI-Kommando testen?
Aufgabe 2 - Installation Whoami
- Installieren Sie auf auf Ihrem Server
moni21
mit einem Compose-File die folgenden drei Versionen von
Whoami:
- Gehen Sie bei den drei Varianten auf die
programmiertechnische Realisierung
und auf die netzmäßige Einbindung ein.
Meine Lösung:
Aufgabe 3 - Installation NodeExporter + cAdvisor
- Installieren Sie auf Ihrem Server
moni21
mit einem Compose-File den Host-Monitor
NodeExporter und den Container-Monitor
cAdvisor.
- Geben Sie die konkreten Urls an, mit denen sich die
Metriken Ihrer Monitore NodeExporter und cAdvisor abrufen
lassen.
- Von wo aus lassen sich diese Daten abrufen? Ist das ein
Sicherheitsproblem? Wenn ja, wie lässt es sich lösen?
Meine Lösungen:
Aufgabe 4 - Load-Testing mit Container-load-probe
- Testen Sie mit Hilfe von
docker run
auf
Ihrem Notebook den Container
jennerwein/container-load-probe, mit dem sich periodische CPU-Lasten generieren lassen. Wie
gehen Sie bei Ihrem Test vor?
- Mit welchem Kommando lässt sich mit diesem Container
alle 30 Sekunden für 10 Sekunden für die Hälfte der
vorhandenen CPUs eine 50%-tige CPU-Last
erzeugen?
Aufgabe 5 - Kontrollfragen zum Reading 2
Beantworten Sie die folgenden Fragen zum Reading 2 "Docker
Einführung" klar und präzise:
- Erläutern Sie im Zusammenhang mit Docker die Begriffe
Image, Container sowie Registry.
- Was genau ist der Unterschied zwischen einem
Docker-Image und einem Docker-Container?
- Wie ist ein Docker-Image strukturiert? Erläutern Sie den
Unterschied zwischen Docker-Image und Docker-Container.
- Warum kann Docker problemlos für alle Nutzer eine
Registry bereitstellen? Gibt es da nicht massive
Speicherprobleme?
- Erläutern Sie, wie ein Container auf Dateien im
Docker-Image schreibend zugreift und diskutieren Sie die
daraus resultierende Problemstellung.
- Sie haben einen Ubuntu-Rechner auf dem Docker frisch
installiert ist. Beschreiben Sie im Detail schrittweise die
Vorgänge, wenn Sie das Docker-Kommando
docker run
busybox whoami
ausführen.
- Docker File: Was ist der Unterschied zwischen den beiden
Kommandos
ENTRYPOINT
und CMD
?
Erläutern Sie den Unterschied in eigenen Worten.
- Was leistet das Kommando
EXPOSE
im Detail?
- Welche Möglichkeiten bietet Docker-Compose, um sich mit
einem Dateisystem zu verbinden? Beschreiben Sie die
vorhandenen Möglichkeiten in eigenen Worten.