Membre depuis le 13/03/2019
salut. la maj k8s ça peut casser pas mal de choses avec les changements d'API et de métriques. pour prometheus le plus simple c'est de revoir tes règles d'alerting et de recording. y a ptete des labels qui ont changé aussi.
Membre depuis le 07/02/2019
ouais carrément. commence par regarder les guides de dépréciation kubernetes. pour les métriques pas de purge à proprement parler dans prometheus sans perdre l'historique. si tu veux juste que ça arrête de gueuler tu peux commenter les alertes cassées le temps de les fixer.
si tes containers crashent le souci est ptete plus profond que juste prometheus. t'as checké les logs de tes pods critiques genre kube-controller-manager ou kube-scheduler ?
Membre depuis le 06/10/2021
les logs k8s sont un bordel sans nom. mais oui y a des warnings sur des API versions dépréciées qu'on utilisait. pour les métriques j'ai des alertes du genre kube_pod_container_status_restarts_total qui n'existe plus ou avec des labels différents.
Membre depuis le 05/06/2019
c'est ça les changements de métriques. tu dois refaire tes requêtes promql. y a pas de purge sélective des métriques. soit tu laisses prometheus les nettoyer après la rétention soit tu peux faire un reset complet de ta base prometheus si tu n'as pas besoin de l'historique et que tu es prêt à redémarrer de zéro mais c'est radical et rarement souhaitable en prod.
le mieux c'est de mettre à jour tes scrape configs et tes règles d'alerting pour correspondre aux nouvelles métriques exposées par k8s 1.26.
Membre depuis le 13/03/2019
et pour les alerts en attendant la correction tu peux utiliser l'option for: 5m sur tes alertes. ça les retarde. ou des annotations sur l'alertmanager pour les muter temporairement.
Membre depuis le 06/10/2021
ok donc pas de solution miracle pour purger les vieilles métriques qui alertent. je vais devoir me taper toutes les règles. c'est long et chiant.
pour les logs kube c'est la galère j'ai tenté d'activer des trucs de debug mais ça noie tout.
Membre depuis le 07/02/2019
si t'as vraiment besoin de nettoyer l'historique pour certaines métriques tu peux utiliser la API /api/v1/admin/tsdb/delete_series de prometheus. mais c'est admin only et à utiliser avec prudence ça efface vraiment les données.
curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={__name__="old_metric_name"}'
attention ça ne supprime que les données existantes pas la collecte future.
Membre depuis le 06/10/2021
ah ça c'est intéressant la delete_series. je vais voir si je peux l'utiliser pour virer les métriques qui génèrent le plus de bruit. ça me donnera un peu de répit pour refaire les règles tranquillement.
merci bien pour l'astuce ça va me sauver la soirée.
Membre depuis le 05/06/2019
fais gaffe avec la suppression hein c'est permanent. et n'oublie pas de bien redéfinir tes scrape configs et labels pour que les nouvelles métriques soient bien collectées.
Membre depuis le 06/10/2021
oui je ferai gaffe. je vais commencer par les plus évidentes. la refonte des règles d'alerting c'est pour demain mais au moins la prod arrêtera de hurler ce soir.
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
mahe-emmanuelle
Membre depuis le 06/10/2021
bonjour les devs ops j'ai un souci depuis qu'on a fait la maj de notre cluster k8s de 1.23 à 1.26 prometheus est en roue libre. toutes les alertes possibles et imaginables sont rouges.
on dirait qu'il y a plein de métriques qui n'existent plus ou qui sont renommées mais prometheus continue de les chercher et ça fait trigger les alertes à mort. j'ai des containers crash looping sans arrêt et des pods en pending.
comment on gère ça ? on peut purger des métriques ou les désactiver proprement ?