Включите метку для метаданных, не агрегируя по ней - PullRequest
0 голосов
/ 26 мая 2020

У меня есть измерительная метка c, которая указывает состояние ошибки переменной номер проект репликации на зеркала :

  • project A -> project A Mirror 1 -> project A Mirror 2
  • project B -> project B Mirror 1 -> project B Mirror 2
  • ...

Есть один значение на зеркало, на проект, где 1 - успешное зеркало, а 0 - сбой. Метка status включает переменную строку сообщения об ошибке, если произошел сбой, а метка type различает зеркала.

Полные данные для одного временного ряда могут выглядеть примерно так:

mirror_info{instance="",job="mirror-status",path="projectA",status="ok",type="a"} 1
mirror_info{instance="",job="mirror-status",path="projectA",status="ok",type="b"} 1
mirror_info{instance="",job="mirror-status",path="projectB",status="Something went wrong: full error message",type="a"} 0
mirror_info{instance="",job="mirror-status",path="projectB",status="ok",type="b"} 1
mirror_info{instance="",job="mirror-status",path="projectC",status="ok",type="a"} 1
mirror_info{instance="",job="mirror-status",path="projectC",status="ok",type="b"} 1
mirror_info{instance="",job="mirror-status",path="projectD",status="ok",type="a"} 1
mirror_info{instance="",job="mirror-status",path="projectD",status="Something different went wrong: full error message",type="b"} 0
mirror_info{instance="",job="mirror-status",path="projectE",status="ok",type="a"} 1
mirror_info{instance="",job="mirror-status",path="projectE",status="ok",type="b"} 1

Я хочу иметь возможность отображать такую ​​таблицу:

| project  | status a                                 | status b                                           |
| -------  | --------                                 | ---------                                          |
| projectA | ok                                       | ok                                                 |
| projectB | Something went wrong: full error message | ok                                                 |
| ...      | ...                                      | ...                                                |
| projectD | ok                                       | Something different went wrong: full error message |

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу агрегировать path без потери status , и я не могу включить status, не получая отдельной записи для каждого отдельного варианта сообщения об ошибке.

Я слишком новичок в PromQL, чтобы знать, возможно ли такое вообще, и полностью осознавая, что Prometheus может даже не быть подходящим инструментом для этого, однако это конкретное требование в данном случае находится вне моего контроля.

...