Работа с ограничениями производной (сумма (значение)) в InfluxDB

У меня есть счетчики байтов чтения и записи из хранилища объектов в InfluxDB 0.8.8 (рад получить рабочий ответ для 0.9. Просто жду другого механизма хранения перед обновлением)

Данные собираются сервером и устройством, поэтому, например, точка данных может иметь:

timestamp: ...
server: abc1-oss1
disk: disk_id1
read_bytes: a counter

В abc \ d + и -oss \ d + есть диапазон идентификаторов, например, abc14-oss5, abc1-oss1, abc8-oss12 - все допустимые имена хостов.

Я бы хотел сделать обзор всех различных групп abc \ d + - *. Зритель мог бы выбрать, скажем, «abc2» и получить производную (потому что это постоянно увеличивающийся счетчик) суммы всех дисков на всех хостах, соответствующих abc2- *.

Хотя я мог бы указать сумму для конкретного хоста с начальной вставкой данных, я не могу сделать это для десятка или около того хостов, которые находятся в abc2-oss *

В графане я могу создать переменную шаблона с регулярным выражением, чтобы извлечь возможные значения abc \ d + в переменную с именем $ Area, а затем:

select sum(value) from "read_bytes" where $timeFilter and hostname =~ /$Area.*/ group by time($interval) order asc

Это дает мне суммы чтения для каждой области, но я не могу вызвать производную () для этого, поскольку производная (сумма (значение)) недействительна в InfluxDB:

select derivative(sum(value)) from ... 

"Значение не может быть оценено для типа & {сумма 10 [oxc21648f220] false}"

Я предполагаю, что это означает, что мне нужен непрерывный запрос в InfluxDB для вычисления суммы, а затем применить вызов производной () к полученному измерению. Как мне сделать это для частичного значения столбца, чтобы я суммировал все значения для hostname =~ /abc1-.*/, hostname =~ /abc2-.*/ и так далее?


person Simon Fraser    schedule 02.10.2015    source источник
comment
В настоящее время предпринимается попытка обходного пути изменения сценария отправки для включения тега, содержащего «abc1», «abc2» в зависимости от ситуации.   -  person Simon Fraser    schedule 02.10.2015


Ответы (1)


DERIVATIVE(SUM(value)) действителен в InfluxDB 0.9, который по-прежнему поддерживает сопоставление регулярных выражений в предложении FROM.

Я бы рекомендовал прочитать различия между 0,8 и 0,9 перед переносится. Они существенны, и миграция нетривиальна. Дождитесь официального релиза 0.9.5, чтобы получить наилучшие впечатления.

Новый механизм хранения входит в последние ночные сборки, если вы готовы погрузиться в него.

person beckettsean    schedule 08.10.2015
comment
Есть ли у вас какие-либо советы по группировке по регулярному выражению или аналогичному? - person Simon Fraser; 11.10.2015
comment
Саймон, нельзя использовать регулярные выражения в предложении GROUP BY. Однако я думаю, что то, что вам нужно, достигается с помощью регулярного выражения в предложении WHERE и простой группировки по тегу. - person beckettsean; 14.10.2015