Infxdb группа запросов по значению

Я новичок в Influxdb и среде TICK, поэтому, возможно, это основной вопрос, но я не нашел, как это сделать. Я установил Influxdb 1.7.2, при этом Telegraph слушает сервер MQTT, который получает данные JSON, сгенерированные разными устройствами. У меня есть хронограф для визуализации получаемых данных.

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

SELECT count("devid") AS "Device" FROM "telegraf"."autogen"."mqtt_consumer" WHERE time > :dashboardTime: AND "devid"='D9BB' GROUP BY time(5m) FILL(null)

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

Можно ли получить результаты, сгруппированные по значениям, содержащимся в devid? В SQL это означало бы включение чего-то вроде GROUP BY "devid", но я не смог заставить это работать.

Любые идеи?


person jordi    schedule 10.01.2019    source источник


Ответы (1)


Вы можете использовать "GROUP BY devid", если devid является tag в схеме измерения. В случае, если devid является единственным тегом, количество уникальных значений тега devid - это количество временных рядов в "telegraf"."autogen"."mqtt_consumer" измерении. Обычно нет необходимости использовать какое-либо значение как в качестве тега, так и в качестве поля. Вы можете представить себе набор тегов в измерении как составной уникальный индекс (ключ) в обычной базе данных SQL.

person Yuri Lachin    schedule 11.01.2019