Os relatórios do Puppet poderiam ser removidos depois de processados ​​pelo painel do Puppet ou pelo PuppetDB?

11

Os relatórios de marionetes estão usando muito espaço em disco em:

/var/lib/puppet/reports
/var/lib/mysql

A suposição é que ele armazena todos os relatórios no banco de dados MySQL, porque os dois caminhos têm o mesmo tamanho. A tabela resource_statuses consiste em linhas que cada uma representa uma linha em um arquivo de relatórios.

  • É possível remover com segurança os relatórios em / var / lib / puppet / reports depois que o Puppet-dashboard ou o PuppetDB os processarem?
  • Qual é a melhor prática para lidar com relatórios?
  • Existe uma maneira de fazer o painel Puppet excluir automaticamente os arquivos de relatório do yaml após processá-los?
ujjain
fonte

Respostas:

14

Sim, você pode excluí-los e eu também o recomendo. Os documentos para o painel Puppet não são muito opinativos sobre a manutenção contínua do painel, mas precisam de manutenção. Eu recomendo um cron que exclua relatórios no banco de dados após alguns dias, um segundo para remover todos os registros órfãos e um terceiro para excluir relatórios processados. O meu fica assim:

cd /path/to dashboard ; RAILS_ENV=production rake reports:prune upto=3 unit=day
cd /path/to dashboard ; RAILS_ENV=production rake reports:prune:orphaned
find /var/lib/puppet/var/reports/ -mmin +300 -type f -print0 | xargs -0 -r rm > /dev/null 2>&1

Você pode ajustar os tempos para o que funciona melhor para o seu sistema. Não acredito que o delayed_job contenha qualquer funcionalidade para excluir relatórios processados, mas você pode adicioná-lo ao código.

Kashani
fonte
Espero que você esteja usando o fantoche para configurar o cron ^^;
Felipe Alvarez