Прометей: сокращение повторяющихся правил с помощью регулярных выражений - PullRequest
0 голосов
/ 22 мая 2018

В правилах записи Prometheus я хочу записывать частоту сбоев в работе каждого из моих заданий в Jenkins.

Это выражение позволит мне это сделать.Частота отказов для MyJenkinsJob_1.

 ( sum(jenkins_job_last_build_failed_tests{jobname="MyJenkinsJob_1"})
                or (absent(jenkins_job_last_build_failed_tests{jobname="MyJenkinsJob_1"})*0) )
          /
( sum(jenkins_job_last_build_total_tests{jobname="MyJenkinsJob_1"})
                or (absent(jenkins_job_last_build_total_tests{jobname="MyJenkinJobs_1"})*0) )

Поскольку логика (уравнение) является общей для всех заданий! , я мог бы использовать одно и то же выражение, изменив значение переменной namename.

Можем ли мы сделать это с помощью некоторого выражения reg, чтобы мне не приходилось многократно кодировать (создавать новое правило) имя задания Jenkins (например, MyJenkinsJob_1, MyJenkinsJob_2, MyJenkinsJob_3, ......),Есть ли какая-либо функция, доступная в Prometheus для этого!

1 Ответ

0 голосов
/ 23 мая 2018

Для этого конкретного запроса это невозможно, так как вам нужно предоставить список всех jobname значений, которые должны как-то существовать.Я бы посоветовал обратиться к шаблонной поддержке вашей системы управления конфигурациями, чтобы сгенерировать для вас ваши правила.

...