2016-04-24 19 views
7

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.

+0

Hai provato a eseguire il debug della configurazione di logrotate? http://superuser.com/a/255970/141 o http://serverfault.com/a/58403/783 – VonC

+0

Il mio logrotate config funziona correttamente wheb lo aggiungo al server manualmente, il problema che ho è con la preconfigurazione del istanze che usano .ebextensions. –

+0

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

risposta

3

Purtroppo il problema si è rivelato un errore di battitura. Ho creato una cartella chiamata .ebextentsion. Quando l'ho risolto, tutto ha cominciato a funzionare bene.

Problemi correlati