{{tag>software prometheus monitoring supervision}}
====== Prometheus : supprimer des métriques ======
Certaines situations peuvent conduire à la création de nombreuses séries temporelles non désirées:
* Une mauvaise configuration,
* Des métriques exposées par erreur,
* Des erreurs lors des opérations de relabeling.
Il est possible de supprimer des données enregistrées par Prometheus sans avoir à attendre la fin de la période de rétention. Pour pouvoir utiliser l'API de suppression, Prometheus doit être exécuté avec l'option **%%--web.enable-admin-api%%**.
Pour vérifier les options actives consulter la page du serveur http://prometheus:9090/flags
# Suppression de la métrique received_messages
curl -X POST -g 'http://prometheus:9090/api/v1/admin/tsdb/delete_series?match[]=received_messages'
# équivalent
curl -X POST -g 'http://prometheus:9090/api/v1/admin/tsdb/delete_series?match[]={__name__="received_messages"}'
Les données sont marquées comme supprimées et n'apparaissent plus dans les résultats mais elles sont encore présentent sur le disque. Pour forcer leur suppression et la libération de l'espace mémoire:
curl -X POST -g 'http://prometheus:9090/api/v1/admin/tsdb/clean_tombstones'
===== Exemples =====
Pour supprimer toutes les séries temporelles de la base de données:
$ curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={__name__=~".+"}'
Suppression des séries temporelles associée à un job
curl -X POST -g 'http://prometheus:9090/api/v1/admin/tsdb/delete_series?match[]={job="aJobName"}'
===== Références =====
* https://prometheus.io/docs/prometheus/latest/querying/api/#delete-series
* https://www.robustperception.io/deleting-time-series-from-prometheus/
* https://www.shellhacks.com/prometheus-delete-time-series-metrics/