Je veux supprimer les données du murmure de stockage du graphite, mais il n'y a rien dans la documentation sur le graphite.
Une façon dont j'ai fait est de supprimer les fichiers /opt/graphite...../whispers/stats...
manuellement.
Mais c'est fastidieux, alors comment faire?
Réponses:
la suppression actuelle des fichiers de / opt / graphite / storage / whisper / est la bonne façon de supprimer les données whisper.
En ce qui concerne le côté fastidieux du processus, vous pouvez utiliser la commande find s'il existe un certain modèle que vous essayez de supprimer.
Question similaire sur answers.launchpad.net/graphite
la source
.wsp
fichiers expirés ?Je suppose que cela va dans le territoire de Server Fault, mais j'ai ajouté le travail cron suivant pour supprimer nos anciennes métriques qui n'ont pas été écrites depuis plus de 30 jours (par exemple, des instances cloud qui ont été supprimées):
Cela supprimera les répertoires contenant des données valides.
Première:
Et puis supprimez les répertoires vides
Cette dernière étape doit être répétée, car il se peut que de nouveaux répertoires vides soient laissés.
la source
find /opt/graphite/storage/whisper -type f -mtime +120 -name \*.wsp -delete; find /opt/graphite/storage/whisper -depth -type d -empty -delete
Comme les gens l'ont souligné, la suppression des fichiers est la voie à suivre. En développant les réponses précédentes, j'ai créé ce script qui supprime tout fichier qui a dépassé son âge de rétention maximal. Exécutez-le
cronjob
assez régulièrement.Quelques éléments à prendre en compte - l'
whisper-info
appel est assez lourd. Pour réduire le nombre d'appels, j'ai mis la constante MINRET, afin qu'aucun fichier ne soit pris en compte pour la suppression jusqu'à ce qu'il ait 1 jour (24 * 60 * 60 secondes) - ajustez pour répondre à vos besoins. Il y a probablement d'autres choses qui peuvent être faites pour fragmenter le travail ou améliorer généralement son efficacité, mais je n'en ai pas encore eu besoin.la source
Must specify a directory to clean
est un message d'erreur. En tant que tel, il doit être écrit au bon endroit:echo "Must ..." >&2
.