In sogenannten Protokoll- oder Logdateien (engl. logfiles) protokolliert jedes Linux-System sämtliche Ereignisse, Probleme und Fehler des Systems sowie laufender Dienste. Diese Informationen werden in unterschiedlichen Textdateien abgelegt, die sich in der Regel im Ordner /var/log
sowie in angeschlossenen Unterordnern befinden. Das Betrachten dieser Textdateien erfolgt normalerweise in einem beliebigen Editor, der über das Terminal ausgeführt wird. Mit LogAnalysis für Docker können diese Dateien über eine WebGUI komfortabel betrachtet und durchsucht werden.
LogAnalysis für Docker befindet sich aktuell noch im Testbetrieb weshalb von einem produktiven Einsatz dringend abzuraten ist. Alle sind herzlich dazu eingeladen, sich an der Weiterentwicklung zu beteiligen oder um Wünsche, Fehler und Probleme zu melden.
-
Wechsle zum GitHub-Repository LogAnalysis für Docker und klicke entweder auf Releases in der rechten Seitenleiste, um dir alle Versionen von LogAnalysis anzeigen zu lassen, oder klicke direkt darunter auf die aktuellste Version.
-
Wähle in der Tabelle direkt unter den Release Notes das Archiv mit dem Namen Source Code (zip) oder Source Code (tar.gz), um die jeweilige Datei herunterzuladen.
-
Nachdem das gewünschte Archiv heruntergeladen wurde, muss es mit einem geeigneten Programm entpackt werden, sofern das verwendete Betriebssystem über keine integrierte Funktion verfügt. Dabei ist darauf zu achten, dass das Archiv in einem neuen Unterverzeichnis entpackt wird, das den Namen der Archivdatei trägt.
-
Wechsel anschließend in das lokale Docker-Verzeichnis und erstelle dort ein neues Unterverzeichnis mit dem Namen loganalysis.
Beispiel:
mkdir -p /volume1/docker/loganalysis
-
Kopiere den Inhalt des zuvor enpackten Archives in dieses Unterverzeichnis.
Beispiel:
cp -r ~/Downloads/Docker_LogAnalysis-0.1-100/* /volume1/docker/loganalysis
-
Wechsle nun in das Unterverzeichnis loganalysis deines Docker-Verzeichnisses und führe das "Dockerfile" mit Root-Rechten aus, um das Docker-Image zu erstellen. Verwende dafür den folgenden Befehl:
sudo docker build -t loganalysis .
-
Starte einen neuen Container aus dem gerade erstellten Image, um LogAnalysis auszuführen. Verwende dafür den folgenden Befehl:
sudo docker run -it -d --name LogAnalysis -p 8080:80 -v /var/log:/tmp/log loganalysis
Wichtiger Hinweis: Gegebenenfalls muss der Port angepasst werden, über den LogAnalysis erreichbar sein soll. In diesem Beispiel wurde der Port 8080 gewählt.
-
Nach dem erfolgreichen Start des Containers ist dieser über folgende Adresse erreichbar:
Beispiel:
http://IP-ADRESSE:8080
Hinweis 1: Wenn man nicht als Systembenutzer root an der Kommandozeile angemeldet ist, muss jedem nachfolgenden Befehl sudo
vorangestellt werden.
Hinweis 2: In den nachfolgenden Beispielen müssen selbstverständlich die eigenen, ermittelten Angaben zur Container-ID [CONTAINER ID] bzw. Container-Name [NAMES] eingesetzt werden.
-
Mit dem Befehl
docker ps
werden alle aktuell ausgeführten Container aufgelistet. Die nachfolgende Ausgabe wird dabei auf den LogAnalysis-Container beschränkt.sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a6a7a3770ccc loganalysis "/usr/sbin/apache2ct…" 19 minutes ago Up 19 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp LogAnalysis
Um sich alle vorhandenen Container anzeigen zu lassen, muss der Befehl
docker ps
um den Parameter-a
(für all) ergänzt werden.sudo docker ps -a
Um einen Container zu einem späteren Zeitpunkt zu starten, zu stoppen oder zu löschen, ist vor allem die Container-ID [CONTAINER ID] oder der Container-Name [NAMES] wichtig.
-
Ein Container kann mit dem Befehl
docker start
unter der Angabe der zuvor ermittelten Container-ID bzw. des Container-Namens gestartet werden.Beispiel
sudo docker start a6a7a3770ccc
-
Ein Container kann mit dem Befehl
docker stop
unter der Angabe der zuvor ermittelten Container-ID bzw. des Container-Namens angehalten bzw. gestoppt werden.Beispiel
sudo docker stop a6a7a3770ccc
-
Ein Container kann mit dem Befehl
docker rm
unter der Angabe der zuvor ermittelten Container-ID bzw. des Container-Namens gelöscht werden. Dabei ist zu beachten, dass der Container zuvor gestoppt wurde.Beispiel
sudo docker rm a6a7a3770ccc
Ein Container sollte immer dann gelöscht werden, wenn er entweder nicht mehr benötigt wird, oder wenn eine neuere Build-Version des Containers verfügbar ist, um daraus ein neues Image, wie weiter oben beschrieben, zu erstellen und auszuführen.
Hinweis 1: Wenn man nicht als Systembenutzer root an der Kommandozeile angemeldet ist, muss jedem nachfolgenden Befehl sudo
vorangestellt werden.
Hinweis 2: In den nachfolgenden Beispielen müssen selbstverständlich die eigenen, ermittelten Angaben zur Image-ID [IMAGE ID] bzw. zum Namen des Repositorys [REPOSITORY], gefolgt von dessen Tag [TAG] eingesetzt werden.
-
Mit dem Befehl
docker images
werden alle auf dem System verfügbaren Images aufgelistet. Die nachfolgende Ausgabe wird dabei auf den LogAnalysis-Container beschränkt.sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE loganalysis latest 90f848157f5e 7 hours ago 233MB
-
Ein Image kann mit dem Befehl
docker rmi
unter der Angabe der zuvor ermittelten Image-ID gelöscht werden. Dabei ist zu beachten, dass zuvor alle mit diesem Image verbundenen Container gestoppt wurden.Beispiel
sudo docker rmi 90f848157f5e
Alternativ kann ein Image auch anhand des Repository-Namens und dessen Tags gelöscht werden.
Beispiel
sudo docker rmi loganalysis:latest
Nachdem das Image gelöscht wurde, kann bei Bedarf ein neues, aktuelleres Image erstellt werden. Die Vorgehensweise ist unter dem Punkt Installationshinweise beschrieben.
- Synology Forum:
LogAnalysis - GUI zum betrachten und durchsuchen von /var/log - UGREEN Forum - DACH Community:
LogAnalysis - für Docker (ein erster Versuch)
- Details zur Versionsgeschichte finden Sie in der Datei CHANGELOG.