Назад | Перейти на главную страницу

Установить переменную панели управления Grafana из скаляра Prometheus

Мне нужно использовать количество ядер ЦП в нескольких вычислениях на панели управления Grafana, и я надеялся выполнить запрос один раз и сохранить в переменной. Я не могу найти способ вернуть данные в формате, приемлемом для Grafana.

Ошибка Grafana:

Template variables could not be initialized: parse error at char 1: vector selector must contain label matchers or metric name

Я пробовал (PromQL):

count(node_cpu{instance="$host",mode="system"})

Возврат:

Element {}, Value 2

Также (PromQL):

scalar(count(node_cpu{instance="$host",mode="system"}))

Возврат:

Element scalar, Value 2

Использование Grafana's query_result работают так:

query_result(count(node_cpu{instance="$host",mode="system"}))

В предварительном просмотре я получаю следующие значения:

{} 2 1521669355000

В 2 посередине тот, который я хочу.

Есть идеи, как это сделать?

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

Вы можете использовать поле Regex, чтобы получить свое значение, в вашем случае: /.* (.*) .*/

Это работает, если вы поместите это в поле регулярного выражения в графане

/.*\s(.*)\s.*/