Relution Logs
Docker
Docker schreibt standardmäßig keine Logs. Alles, was Sie in den Protokollen lesen können, ist im Systemlog
des Containers enthalten.
Dies ist für die meisten Änderungen ausreichend. Es wird empfohlen, den Fehler zu provozieren, um ihn sichtbar zu machen, bevor man die Schritte durchführt.
Container-ID finden
- Starten Sie ein Terminal und loggen Sie sich ggf. ein
- Finden Sie heraus, welchen Namen und welche ID der Docker hat. Container ID und Name anzeigen
sudo docker ps
Das Terminal sollte nun die folgende Ausgabe anzeigen
CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
---|---|---|---|---|---|---|
5858аа05c24с | relution/relution:latest | “/relution-docker. sh… | 6 days | Up 9 seconds (health: starting) | 8080/tcp 0.0.0.0:4000->4000/ tcp. 8099/tcp | docker_ relution |
Die Informationen werden sich von denen im Beispiel unterscheiden. Sie können den Namen oder die ID des Containers verwenden, um das Protokoll zu starten. Im Beispiel wurde der Name verwendet
Log mit Containername starten
docker logs -f docker_relution
Die Option -f
sorgt dafür, dass das Log immer fortlaufend angezeigt wird. Daher wird schnell viel Text im Terminal angezeigt. Sie können das Log mit CTRL + C
anhalten und nach oben scrollen.
Log in Datei speichern
Um die Protokolle in einer Datei im aktuellen Pfad zu speichern, verwenden Sie diesen Befehl
docker logs -f docker_relution > my_logfile.txt
Es ist auch möglich, einen alternativen Pfad zu verwenden
docker logs -f docker_relution > /opt/relution/my_logfile.txt
Wenn Sie die Datei auf Ihren PC übertragen wollen, verwenden Sie Filezilla
, WinSCP
oder einen anderen SCP-Client
Absolut! Hier ist der Text, schön formatiert als Markdown, zum Kopieren:
Logrotation
Docker-Logs sind grundsätzlich flüchtig. Manchmal kann es sinnvoll sein, diese über einen längeren Zeitraum aufzubewahren. Nachfolgend ein Beispiel auf Basis einer Rocky Linux 9 + Docker Installation.
Logrotation für Docker-Host Logs konfigurieren
Docker speichert seine Standard-Logs unter /var/lib/docker/containers/<container-id>/<container-id>-json.log
. Damit diese Logs handhabbar bleiben, kann die integrierte Log-Rotation von Docker über die Datei /etc/docker/daemon.json
aktiviert werden:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "30"
}
}
Danach den Docker-Dienst neu starten:
sudo systemctl restart docker
Logs täglich rotieren, zippen und ins Relution-Verzeichnis verschieben
Für die tägliche Archivierung kann logrotate
verwendet werden. Hierfür muss es nachträglich auf dem Linux System installiert werden via:
sudo dnf install logrotate
Dafür muss zuerst ein Logs-Ordner erstellt werden:
sudo mkdir /opt/relution/logs
Anschließend muss eine Konfigurationsdatei unter /etc/logrotate.d/docker
mit folgendem Inhalt erstellt werden:
Ersetzen Sie die beiden WILDCARD-Wörter in der ersten Zeile durch
*
.
/var/lib/docker/containers/WILDCARD/WILDCARD.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
copytruncate
create 640 root root
postrotate
TIMESTAMP=$(date +%Y-%m-%d-%H%M%S)
for file in $(find /var/lib/docker/containers/ -type f -name "*.log.*.gz"); do
DIR="/opt/relution/logs"
FILENAME="relution-${TIMESTAMP}.log.gz"
mv "$file" "${DIR}/${FILENAME}"
done
endscript
}
Mittels folgendem Test-Befehl kann eine Log sofort erstellt werden:
sudo logrotate --force /etc/logrotate.d/docker
Anschließend sollte im /opt/relution/logs
-Ordner eine Log-Datei gespeichert sein:
ls -lah /opt/relution/logs
Linux
Wenn Relution im Standardverzeichnis /opt/relution
installiert wurde, finden Sie die Logs in /opt/relution/log
Die aktuellste Logdatei heißt relution.log, während archivierte Logdateien relution.log.<Datum>.gz
genannt werden.
Wenn Relution an einem anderen Ort installiert wurde, wird das Log-Verzeichnis relativ zu seinem Installationsverzeichnis gefunden
Windows
Wenn Relution im Standardverzeichnis C:\Programme\Relution
installiert wurde, finden sich die Logs in C:\Programme\Relution\log
.
Die aktuellste Protokolldatei heißt relution.log
, während archivierte Protokolldateien relution.log.<Datum>.gz
heißen.
Wenn Relution an einem anderen Ort installiert wurde, wird das Log-Verzeichnis relativ zu seinem Installationsverzeichnis gefunden.