Модель данных Prometheus: имя метрики, метки, временная серия
Единица хранения в Prometheus — временная серия, и определяется она не именем метрики, а именем вместе с полным набором меток: http_requests_total{method="GET",status="200"} и http_requests_total{method="GET",status="500"} — две разные серии, независимые друг от друга. Каждая серия — это последовательность пар «отметка времени, число с плавающей точкой»; ничего, кроме чисел, Prometheus не хранит, поэтому идентификаторы запросов, адреса и тексты ошибок в метки класть нельзя. Метки бывают явными (method, status) и добавленными сервером при скрейпе: job и instance приходят из конфигурации цели. Отдельно живут служебные метки с двумя подчёркиваниями (__address__, __name__) — они существуют только на этапе релейблинга и в хранилище не попадают. В Prometheus 3 имена метрик и меток могут содержать любые валидные символы UTF-8, а не только латиницу с подчёркиванием.