{{tag>sysadmin dev prometheus monitoring label}} :TODO_DOCUPDATE: ====== Prometheus : Modifier les labels lors du scraping ====== On peut configurer une tâche Prometeus (job) pour modifier les labels lors de la collecte de la métrique (scraping). Cette altération des labels est désignée **relabeling**. Cette opération permet de manipuler les métriques, de ne conserver que les données nécessaires et d'éviter la pollution du système de stockage avec des valeurs non utilisée. On peut par exemple: * Supprimer des métriques; * Supprimer des labels contenant des informations sensibles; * Modifier les labels des métriques. Par exemple dans Prometheus, le label **instance** identifie de façon unique une cible au sein d'un job. Sa valeur peut être un nom DNS, mais c'est souvent une IP et un port par exemple "192.168.0.30:9100". Quelle que soit cette valeur, elle n'est pas systématiquement adaptée aux besoins de l'utilisateur. Il est alors possible de modifier la valeur du label **instance** sans avoir à introduire de nouveaux labels sur la métrique. Notons que la valeur du label instance n'est pas utilisée par Prometheus pour contacter la cible, sa valeur peut être quelconque, cela n’empêchera pas Prometheus de collecter la métrique (Prometheus utilise la valeur de **%%__address__%%**) Notons également que les labels **instance** et **job** sont spéciaux et doivent nécessairement avoir une valeur, c'est pourquoi la valeur par défaut de **%%__address__%%** est affectée par Prometheus. Dans l'exemple ci dessous, un job un exporteur Prometheus nommé mqtt2prometheus qui expose une métrique ===== Références ===== * https://www.robustperception.io/controlling-the-instance-label * https://medium.com/quiq-blog/prometheus-relabeling-tricks-6ae62c56cbda * https://prometheus.io/docs/practices/naming/