Я столкнулся с этой проблемой во время работы над экспортером , который я написал в Python, используя клиентский модуль Prometheus . Некоторые из моих пользовательских метрик измеряют память в байтах, поэтому я определяю метрику c в моем экспортере:
NODES_MEM_FREE = GaugeMetricFamily('slurm_nodes_mem_free', 'Amounts of free memory allocated on nodes in the cluster ...', labels=self.labels, unit='bytes')
(полный код здесь )
unit явно указан как «байты», который распознается клиентом Prometheus, потому что метрич. c в конечном итоге отображается в конечной точке /metrics
как slurm_nodes_mem_free_bytes
. Однако, когда я проверяю вывод на /api/v1/metadata
на моем сервере Prometheus, модуль пуст, ie.:
"slurm_nodes_mem_free_bytes":[{"type":"gauge","help":"Amounts of free memory allocated on nodes in the cluster grouped by cluster, partition","unit":""}]
Сначала я подумал, что проблема с клиентом Python, но потом я заметил, что каждая метрика c в метаданных содержит "unit":""
, включая внутренние метрики Prometheus, которые поставляются с пакетом. Это отсутствующая функция или, может быть, что-то в настройках моего хоста Prometheus?
Я использую:
- Prometheus версии 2.19.0, дата сборки 20200609-10: 29: 59 ;
- Прометей Python Версия клиента 0.8.0.