Nomad v0.9.1 (4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)
Registros do Docker em crescimento infinito. O Docker armazena os registros em dockerd --data-root
. O Nomad parece estar coletando-os separadamente e também realiza a boa rotação das toras ali. No entanto, a origem real dos logs nunca é limpa. Já temos um arquivo que cresceu para 116 GB de registros de acesso em um curto espaço de tempo, aqui um du -h
snippet:
117G /var/lib/docker/containers/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba-json.log
Qualquer trabalho de produção de logs
Este parece ser um efeito colateral das mudanças recentes em como o Nomad coleta logs do driver Docker.
Ele mudou de syslog
para json-file
, sem max-size / max-file configurado.
Por enquanto, configurei o Docker para girar seus arquivos em /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "2"
}
}
Eu sei que posso passar a configuração de registro para o driver no arquivo de trabalho, mas seria bom poder fazer isso também na configuração do cliente, na estrofe plugin / docker / config recém-introduzida
Como adicioná-lo a uma estrofe de tarefa nômade:
task "redis" {
driver = "docker"
config {
image = "redis:3.2"
port_map {
db = 6379
}
logging {
config {
max-size= "10m",
max-file= "10"
}
}
}
....
https://github.com/hashicorp/nomad/pull/5846 corrige esse problema?
Opa, sim! Obrigado pelo lembrete @camerondavison !
Teste 0.9.4-rc1 se você foi atingido por este: https://groups.google.com/d/msg/nomad-tool/Zi2I7P-PWo0/yAPFPmgLDQAJ
Comentários muito úteis
Este parece ser um efeito colateral das mudanças recentes em como o Nomad coleta logs do driver Docker.
Ele mudou de
syslog
parajson-file
, sem max-size / max-file configurado.Por enquanto, configurei o Docker para girar seus arquivos em /etc/docker/daemon.json
Eu sei que posso passar a configuração de registro para o driver no arquivo de trabalho, mas seria bom poder fazer isso também na configuração do cliente, na estrofe plugin / docker / config recém-introduzida