Запрос Прометея и чувствительность к регистру - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть один запрос, в котором я пытаюсь объединить две метрики на метке.K_Status_Value == 5 и ON (macAddr) state_details {live = "True"}

Метка macAddr присутствует в обеих метриках.Значение метки отображается в «K_Status_Value» иногда в верхнем регистре (78: 32: 5A: 29: 2F: 0D), а иногда в нижнем регистре (78: 72: 5d: 39: 2f: 0a), но всегда появляется в верхнем регистреслучай для 'state_details'.Можно ли как-нибудь сделать значение метки macAddr нечувствительным к регистру в запросе, чтобы не пропустить случаи, когда случаи не совпадают?

1 Ответ

0 голосов
/ 17 июля 2019

Я могу придумать два варианта

Использование regex "i" модификатор совпадения:

Чтобы процитировать слова Бена Кочи для пользователя Prometheus список рассылки :

Соответствие регулярному выражению в Prometheus основано на RE2 Я думаю, вы можете установить флаги в пределах соответствия, используя (?i(matchstring))

Это действительно работает: эта метрика up{instance="localhost:9090",job="prometheus"} соответствует этому выражению:

up{job=~"(?i:(ProMeTHeUs))"}

Эта подсказка не поможет в случае, описанном выше.Это не поможет присоединиться к on (xx) или group_left.

Использование правила записи:

Сначала я надеялся использовать правило записи для сниженияслучай во время приема пищи (в prometheus.yml).Однако в настоящее время эта функция не реализована ( выпуск 1548 )

...