Nomad: Docker-Protokolle wachsen unendlich

Erstellt am 5. Juni 2019  ·  4Kommentare  ·  Quelle: hashicorp/nomad

Nomadenversion

Nomad v0.9.1 (4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)

Problem

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

Reproduktionsschritte

Jeder Job, der Protokolle erstellt

themdrivedocker typbug

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 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

Alle 4 Kommentare

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"
          }
        }
      }
....

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen