Membre depuis le 23/05/2024
salut les sres ! j'ai un Prometheus qui tourne sur un K8s worker et il se fait OOMKilled régulièrement. J'ai alloué 8Go de RAM et 4 cpus, ce qui est censé être suffisant pour mon infra. Les métriques indiquent une utilisation mémoire d'environ 6-7Go avant le crash. Je scrappe pas des milliers de cibles non plus. Des idées sur ce qui bouffe la RAM ?
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
henriette-prevost
Membre depuis le 21/07/2024
hello t'as checké la cardinalité de tes métriques ? c'est souvent la cause des OOMs. si tu as des labels avec des valeurs très dynamiques et uniques (genre request ID, pod name sans sélecteur intelligent) ça explose la mémoire car Prometheus doit stocker toutes les séries temporelles
jacqueline-potier
Membre depuis le 16/06/2024
ouais la cardinalité c'est le grand classique. tu peux utiliser PromQL pour identifier les métriques les plus gourmandes. genre regarde `topk(10, count by (__name__)({__name__=~".+"}))` pour avoir une idée des noms de métriques et `topk(10, count by (job, instance, ...) ({__name__=~".+"}))` pour voir la cardinalité par job/instance
brigitte33
Membre depuis le 27/06/2024
aussi la rétention des données. si tu gardes trop de données sur une longue période ça va bouffer ta RAM et ton disque. quelle est ta config de rétention ?
henriette84
Membre depuis le 23/05/2024
la rétention est à 15 jours par défaut. je vais regarder la cardinalité. j'ai effectivement des services qui balancent pas mal de labels dynamiques. je vais essayer de les nettoyer avec un relabel_config
henriette-prevost
Membre depuis le 21/07/2024
n'oublie pas non plus que Prometheus est un peu gourmand en CPU pour le TSDB. assure-toi que tes cpus sont pas throttlés par K8s si les requests/limits sont trop bas par rapport à l'activité réelle
henriette84
Membre depuis le 23/05/2024
j'ai bien trouvé des labels à la con avec des IDs uniques sur une de mes apps. j'ai mis en place un `relabel_config` pour les virer et après redémarrage la mémoire est stable et Prometheus tient le coup. Ouf ! merci pour les pistes