Графана + InfluxDB + телеграф

Я использую графану для мониторинга сетевого устройства. Как вы можете видеть на screen1, я получил много интерфейсов для монитора, 28 физических интерфейсов + много виртуальных (vlan). График показывает мне все интерфейсы, но я хочу и возможность выбрать интерфейс из выпадающего списка. Тогда я обнаружил, что могу решить эту проблему с помощью "переменных". Я делаю одну переменную и могу выбрать интерфейс, который хочу, но это не повлияло на график, когда я выбрал пользовательский интерфейс.

screen1

Моя переменная:

Переменная конфигурация

И мой запрос БД:

SELECT derivative(mean("ifHCInOctets"), 1s) *8 AS "Input", derivative(mean("ifHCOutOctets"), 1s) *8 AS "Output" FROM "autogen"."interface" WHERE $timeFilter GROUP BY time($__interval), "ifDescr" fill(null)

1 ответ

ГДЕ "интерфейс" =~ /^$ifDescr$/

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

SELECT mean("usage_idle") * -1 + 100 FROM "cpu" WHERE "host" =~ /^$Server$/ AND "cpu" = 'cpu-total' AND $timeFilter GROUP BY time($Interval) fill(null)

Это должно помочь собрать воедино нужный вам запрос. Вы можете просто использовать построитель запросов Grafana и просто изменить предложение where, чтобы использовать значение regex для переменной

Query Builder в Графане

Скобки верны, если вы пишете в TICK-скрипте или запрашиваете базу данных напрямую из Cli. Графана использует немного другой синтаксис запроса.

Другие вопросы по тегам