Les rapports Puppet peuvent-ils être supprimés une fois qu'ils ont été traités par Puppet-dashboard ou PuppetDB?

11

Les rapports de marionnettes utilisent beaucoup d'espace disque dans:

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

L'hypothèse est qu'il stocke tous les rapports dans la base de données MySQL, car les deux chemins ont à peu près la même taille. La table resource_statuses est constituée de lignes qui représentent chacune une ligne dans un fichier de rapports.

  • Peut-on supprimer en toute sécurité les rapports dans / var / lib / puppet / reports après Puppet-dashboard ou PuppetDB les a traités?
  • Quelle est la meilleure pratique pour gérer les rapports?
  • Existe-t-il un moyen de faire en sorte que Puppet-dashboard supprime automatiquement les fichiers de rapport yaml après les avoir traités?
ujjain
la source

Réponses:

14

Oui, vous pouvez les supprimer et je le recommande également. Les documents pour le tableau de bord Puppet ne sont pas très avisés sur la maintenance continue du tableau de bord, mais il a besoin de maintenance. Je recommande un cron qui supprime les rapports dans la base de données après quelques jours, un deuxième pour supprimer tous les enregistrements orphelins et un troisième pour supprimer les rapports traités. Le mien ressemble à ceci:

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

Vous pouvez modifier les temps pour ce qui fonctionne le mieux pour votre système. Je ne pense pas que la fonction de temporisation différée contienne une fonctionnalité pour supprimer les rapports traités, mais vous pourrez peut-être l'ajouter au code.

kashani
la source
J'espère que vous utilisez des marionnettes pour configurer le cron ^^;
Felipe Alvarez