Как повторить один и тот же запрос для нескольких значений в Графане - PullRequest
0 голосов
/ 15 января 2020

Используя Grafana и базу данных InfluxDB, я создаю панель с этим запросом:

SELECT "ZoomRendered01" FROM "exec" WHERE ("host" =~ /^$host$/) AND $timeFilter GROUP BY time($__interval) fill(null)

Я должен повторить этот же запрос для этих полей:

  • ZoomRendered02:

    SELECT "ZoomRendered02" FROM "exec" WHERE ("host" =~ /^$host$/) AND $timeFilter GROUP BY time($__interval) fill(null)

  • ZoomRendered03

    SELECT "ZoomRendered03" FROM "exec" WHERE ("host" =~ /^$host$/) AND $timeFilter GROUP BY time($__interval) fill(null)

  • ZoomRendered04

    SELECT "ZoomRendered04" FROM "exec" WHERE ("host" =~ /^$host$/) AND $timeFilter GROUP BY time($__interval) fill(null)

  • ...

  • до ZoomRendered20

Есть ли способ попросить Grafana повторить эти запросы на той же панели для всех этих полей автоматически?

Редактировать : добавление точности: повторяющиеся запросы должны отображаться на одном и том же панель.

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

influenxdb принимает регулярные выражения для сопоставления имен полей в запросе:

SELECT /^ZoomRendered(0[1-9]|1[0-9]|20)$/ FROM "exec" WHERE ("host" =~ /^$host$/) AND $timeFilter GROUP BY time($__interval) fill(null)

Или, если вы действительно хотите, чтобы все поля были из "exe c", вы можете использовать:

SELECT * FROM "exec" WHERE ("host" =~ /^$host$/) AND $timeFilter GROUP BY time($__interval) fill(null)
0 голосов
/ 16 января 2020

Один из возможных способов - использовать шаблоны Grafana:

  • определить пользовательскую переменную, например fieldName с несколькими значениями: ZoomRendered01 , ZoomRendered02 , ZoomRendered03 , ...
  • установить multi-value параметр для этой переменной
  • использовать эту переменную в запросе: SELECT "$fieldName" FROM "exec" WHERE ("host" =~ /^$host$/) AND $timeFilter GROUP BY time($__interval) fill(null)
  • включить Repeating для всех значений $ fieldName в секции General редактора панелей.

Эти шаги должны создать несколько панелей на панели мониторинга (по одной для каждого из значений $ fieldName).

...