Nomad v0.9.1 (4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)
Unendlich wachsende Docker-Protokolle. Docker speichert die Protokolle unter dockerd --data-root
. Nomad scheint sie separat zu sammeln und führt dort auch die schöne Holzrotation durch. Die eigentliche Quelle der Protokolle wird jedoch niemals bereinigt. Wir haben bereits eine Datei, die in kurzer Zeit auf Zugriffsprotokolle im Wert von 116 GB angewachsen ist. Hier ein du -h
-Schnipsel:
117G /var/lib/docker/containers/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba-json.log
Jeder Job, der Protokolle erstellt
Dies scheint ein Nebeneffekt der jüngsten Änderungen bei der Erfassung von Protokollen durch Nomad vom Docker-Treiber zu sein.
Es wurde von syslog
in json-file
geändert, ohne dass die maximale Größe / maximale Datei konfiguriert wurde.
Vorerst habe ich Docker so konfiguriert, dass seine Dateien in /etc/docker/daemon.json gedreht werden
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "2"
}
}
Ich weiß, dass ich die Protokollierungskonfiguration in der Jobdatei an den Treiber übergeben kann, aber es wäre schön, wenn Sie dies auch in der Clientkonfiguration unter der neu eingeführten Zeilengruppe Plugin / Docker / Konfiguration tun könnten
So fügen Sie es einer Zeilengruppe für Nomadenaufgaben hinzu:
task "redis" {
driver = "docker"
config {
image = "redis:3.2"
port_map {
db = 6379
}
logging {
config {
max-size= "10m",
max-file= "10"
}
}
}
....
Behebt https://github.com/hashicorp/nomad/pull/5846 dieses Problem?
Ups, ja! Danke für die Erinnerung @camerondavison !
Bitte testen Sie 0.9.4-rc1, wenn Sie davon betroffen sind: https://groups.google.com/d/msg/nomad-tool/Zi2I7P-PWo0/yAPFPmgLDQAJ
Hilfreichster Kommentar
Dies scheint ein Nebeneffekt der jüngsten Änderungen bei der Erfassung von Protokollen durch Nomad vom Docker-Treiber zu sein.
Es wurde von
syslog
injson-file
geändert, ohne dass die maximale Größe / maximale Datei konfiguriert wurde.Vorerst habe ich Docker so konfiguriert, dass seine Dateien in /etc/docker/daemon.json gedreht werden
Ich weiß, dass ich die Protokollierungskonfiguration in der Jobdatei an den Treiber übergeben kann, aber es wäre schön, wenn Sie dies auch in der Clientkonfiguration unter der neu eingeführten Zeilengruppe Plugin / Docker / Konfiguration tun könnten