Foi identificado um erro no script do logrotate para os logs do Cloudforms, um parâmetro do script que deveria trazer a informação de espaço disponível, informa o valor ocupado, logo o rotacionador não funciona por “insuficiência” de espaço, quando na verdade tem espaço de sobra.[1] [2] [3]
Veja as mensagens de erro abaixo:
Em /var/mail/root :
/etc/cron.daily/logrotate: error: error running non-shared prerotate script for /var/www/miq/vmdb/log/evm.log of '/var/www/miq/vmdb/log/*.log /var/www/miq/vmdb/log/apache/*.log /var/opt/rh/rh-postgresql94/lib/pgsql/data/pg_log/*.log '
Em /var/www/miq/vmdb/log/appliance_console.log :
Wed Mar 30 03:32:03 BRT 2016 Checking for enough free space to rotate: /var/www/miq/vmdb/log/evm.log Wed Mar 30 03:32:03 BRT 2016 File size: 550596 Wed Mar 30 03:32:03 BRT 2016 Space required to rotate: 660715 Wed Mar 30 03:32:03 BRT 2016 Available space on volume: 653640 Wed Mar 30 03:32:03 BRT 2016 Skipping file, Not enough free space on disk.
Para resolver o problema, será necessário editar o arquivo /opt/rh/cfme-appliance/logrotate_free_space_check.sh. Na variável logvol_free_space, trocar o valor do parâmetro de $3 para $4. De acordo com a linha abaixo:
logvol_free_space=`df -lk $file | awk '{ print $4 }' | tail -n 1`
Problema resolvido!
A próxima vez que essas mensagens ocorrerem é porque de fato está com pouco espaço em disco. =D
Referências:
[1] https://access.redhat.com/solutions/2110211
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1294991
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1321675