Я использую grafana и prometheus для запроса нескольких метрик из разных сред и экземпляров / кластеров. Regex помогает мне уменьшить количество запросов на панели инструментов Grafana.
Например, вместо создания запроса для каждого экземпляра (иногда я не могу знать имена или количество экземпляров), я использую это:
{__name__=~"ReadUser:.*",account="dev",Function="Max"}
Таким образом, я получаю метрики из нескольких разных динамически создаваемых экземпляров, касающиеся операции чтения пользователя.
Конечно, я не могу использовать его в таком запросе:
increase(ReadUser:<instance-name>{account="dev",Function="TotalDuration"}[30s]) / ignoring(Function) increase(ReadUser:<instance-name>{account="dev",Function="Counter"}[30s])
Мой вопрос в том, как я могу использовать регулярное выражение, чтобы использовать только один запрос promql, чтобы показать результат этого запроса для всех доступных экземпляров (помните, что они динамически создаются и могут достигать довольно большого числа)