Sto eseguendo un'app scala su beanstalk elastico e il server viene riempito eccessivamente con i log del contenitore che non vengono ruotati. Lo schema predefinito di beanstalk ruota i registri di docker nella cartella /var/log/eb-docker/containers/eb-current-app/*
, ma i registri aggiuntivi si stanno accumulando in /var/lib/docker/containers/<container-id>/*
e poiché non ruotano, il disco si riempie molto rapidamente.L'ambiente del beanstalk di AWS non sta ruotando i log del contenitore della finestra mobile
Ho provato ad affrontare questo problema aggiungendo altre etichette di logrotation a /etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.applogs.conf
manualmente e questo ha risolto il problema.
Tuttavia, quando provo a implementare la modifica in ogni istanza, il beanstalk viene avviato utilizzando un file di configurazione .ebextension, il file di rotazione del registro modificato non viene visualizzato sul server.
Ecco il mio file config -
files:
"/etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.applogs.conf":
mode: "000644"
content: |
/var/log/eb-docker/containers/eb-current-app/* {
size 10M
rotate 5
missingok
compress
notifempty
copytruncate
dateext
dateformat %s
olddir /var/log/eb-docker/containers/eb-current-app/rotated
}
/var/lib/docker/containers/*/*.log {
size 10M
rotate 5
missingok
compress
notifempty
copytruncate
dateext
dateformat %s
olddir /var/log/eb-docker/containers/eb-current-app/rotated
}
Ho anche provato ad utilizzare la forma più semplice di file di configurazione che ho trovato in questo post reddit - https://www.reddit.com/r/aws/comments/2u3afj/elastic_beanstalk_issues_with_ebextensions/, ma anche non è riuscito ad avere alcun effetto sulle mie istanze lanciate.
Qualsiasi consiglio sul motivo per cui la mia configurazione non influisce sull'ambiente sarebbe molto apprezzato.
Hai provato a eseguire il debug della configurazione di logrotate? http://superuser.com/a/255970/141 o http://serverfault.com/a/58403/783 – VonC
Il mio logrotate config funziona correttamente wheb lo aggiungo al server manualmente, il problema che ho è con la preconfigurazione del istanze che usano .ebextensions. –
E potresti provare nel tuo '.ebextensions' il percorso'/etc/logrotate.d/logrotate.elasticbeanstalk.applogs.conf' invece? Come in https://sandro-keil.de/blog/2015/03/11/logrotate-for-docker-container/ – VonC