Preciso usar o número de núcleos de CPU em vários cálculos em um painel Grafana e esperava realizar a consulta uma vez e armazenar em uma variável. Não consigo encontrar uma maneira de retornar os dados em um formato que o Grafana aceite.
Erro de Grafana:
Template variables could not be initialized: parse error at char 1: vector selector must contain label matchers or metric name
Eu tentei (PromQL):
count(node_cpu{instance="$host",mode="system"})
Retorna:
Element {}, Value 2
Além disso (PromQL):
scalar(count(node_cpu{instance="$host",mode="system"}))
Retorna:
Element scalar, Value 2
Usando a função do Grafana query_result
assim:
query_result(count(node_cpu{instance="$host",mode="system"}))
Recebo os seguintes valores na visualização:
{} 2 1521669355000
O 2
do meio é o que eu quero.
Alguma idéia de como fazer isso funcionar?
Responder1
Você pode usar o campo Regex para obter seu valor, no seu caso:/.* (.*) .*/
Responder2
Isso funciona se você colocar isso na caixa regex no grafana
/.*\s(.*)\s.*/
Responder3
Você deve evitar escalares para coisas como essa, pois não funciona se, por exemplo, você quiser representar graficamente algo com dois hosts que possam ter números diferentes de núcleos. Sugiro fazer isso dentro de cada expressão de consulta, em vez de por meio de uma variável de modelo.