Как динамически определять метрики в Prometheus (k8s) - PullRequest
0 голосов
/ 05 августа 2020

Я пишу экспортеру и у меня проблемы с метриками для моего коллектора. Насколько я могу судить, метрики в Prometheus нужно определять заранее. Есть ли способ вместо этого определять их динамически во время выполнения? Я не буду знать, сколько у меня будет метрик или какие метрики мне понадобятся, пока код не запустится. (Например, если k8s находит все тома, подключенные к кластеру, и мне нужно, чтобы КАЖДЫЙ том получил свой собственный показатель total_capacity / available_capacity c).

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Вы могли бы справиться с этим, используя значения меток динамического c, а не динамические c метри c имена. Тем не менее, вы можете просто позвонить prometheus.Register() во время выполнения, client_ golang не заметит разницы.

0 голосов
/ 05 августа 2020

До сих пор я использовал только клиенты Python и Java Prometheus, но разве это не просто рекомендация заранее определить метрики? В Java я могу создавать метрики во время выполнения внутри методов или где угодно. Мне просто нужно убедиться, что тот же самый metri c больше не создается, иначе библиотека вызовет исключение.

...