Сопоставление векторов PromQL: пропавший результат может означать отсутствие пары
При арифметике двух instant-векторов Prometheus сопоставляет ряды по labels. Без специальных правил требуется совпадение соответствующих наборов. Элемент без пары по умолчанию не попадает в результат. Поэтому пустой показатель отношения не обязательно означает нулевой поток или отказ вычисления сервера.
On и ignoring определяют, какие labels участвуют в сопоставлении. Их выбор должен отражать реальную идентичность объекта. Удаление «мешающего» label ради появления числа способно соединить показатели разных устройств, окружений или каналов и получить правдоподобный, но бессмысленный результат.
Group_left и group_right предназначены для явно предусмотренных many-to-one либо one-to-many отношений. Сторона one должна оставаться однозначной, а итоговые ряды — различимыми. Такой модификатор не является универсальным исправлением сообщения о множественном совпадении; сначала проверяют источник лишних комбинаций labels.
В приёмке используют полную пару, отсутствующий знаменатель и дубликат на ожидаемой однозначной стороне. Проверяют идентичность и состав результата. Совпадающие числа после произвольного агрегирования не подтверждают правильное сопоставление; важны сохранённые ключи и понятная политика отсутствующей пары.
Основание — Prometheus official latest/practices documentation snapshot; Download stable3.15.1 distinguished from prerelease3.16.0-rc.2, разделы Vector matching; many-to-one; group modifiers. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Установленный Prometheus, exporters и правила объекта не проверялись. Это проектная проверка мониторинга, не отчёт о запросах к реальному серверу или доставленных уведомлениях.












