
Тёмная сторона Prometheus: разбираем сравнение векторов на пяти примерах
samurayI 28 минут назад Тёмная сторона Prometheus: разбираем сравнение векторов на пяти примерах Средний 7 мин 1.2K Блог компании ecom.tech DevOps * Системное администрирование * Программирование * IT-инфраструктура *...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: samurayI 28 минут назад Тёмная сторона Prometheus: разбираем сравнение векторов на пяти примерах Средний 7 мин 1. 2K Блог компании ecom. tech DevOps * Системное администрирование * Программирование * IT-инфраструктура * Мнение Если вы работаете техническим инженером в отделе эксплуатации, то с вероятностью 99,9% вы знакомы с Prometheus и прекрасно разбираетесь в языке запросов promQL.
Но даже в «родной и знакомой» сфере есть области, которые остаются вопросительными пятнами. Например, «Сравнение векторов»/«Сопоставление векторов». Это механизмы promQL, которые применяются не так часто, плохо документированы и неочевидны для понимания.
Технические детали
На связи Александр, руководитель кластера надёжности в компании ecom. tech (наша команда занимается SRE, проводит тестирование нагрузкой и обеспечивает стек Observability). Этой статьей я постараюсь сделать вашу жизнь чуточку проще, на примерах объяснив нюансы непростой механики сопоставления.
В тексте будет применяться термин «Сравнение векторов», так как мне он кажется более естественным. Для упрощения чтения я не особо упоминаю термин «вектор», но подразумеваю, что все операции с метриками выполняются с их векторами. Мы посмотрим, какие конструкции promQL применяются в операциях сравнения, после подробно разберём их на пяти примерах.
В конце будут ссылки на git репозиторий с docker-compose стендом, на котором можно всё попробовать самостоятельно. ВНИМАНИЕ: Все примеры в статье синтетические и нужны лишь для демонстрации принципа работы. Я старался не просто показать пример, но донести до читателя ход мыслей как решается задача, возможно объяснения будут казаться избыточными.
Отраслевые последствия
База для старта В promQL для сравнения векторов метрик используются арифметические и логические операторы. Сравнение происходит с помощью оператора между правой и левой группой метрик. Каждая группа это результат запроса promQL.
Метрики в группах сравниваются по полному набору своих меток. Это означает, что метрика с набором меток {node=”server-1”,os=”linux”} из левой группы будет совпадать с метрикой из правой группы, только если будет обладать таким же набором меток. При совпадении будет применён оператор, который использовался при сравнении.
Сравнивать метрики по полному набору меток, мягко говоря, не особо удобно и применяется такой подход очень редко. Для корректировки набора меток, которые будут участвовать в сравнении, применяются ключевые слова on() и ignoring(). Используя ключевое слово on(), в скобках можно указать, какой набор меток будет использоваться для сравнения.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





