Изучение InfluxDB и Grafana: подробное руководство по использованию InfluxQL

InfluxDB и Grafana — два мощных инструмента с открытым исходным кодом, широко используемые в области хранения и визуализации данных временных рядов. InfluxDB служит высокопроизводительной базой данных временных рядов, а Grafana предоставляет гибкую и интуитивно понятную платформу для создания визуально привлекательных информационных панелей. В этой статье мы рассмотрим различные методы использования InfluxQL, языка запросов для InfluxDB, в Grafana. Мы также предоставим примеры кода для иллюстрации каждого метода.

Метод 1: использование редактора InfluxQL в Grafana

Grafana предлагает интегрированный редактор InfluxQL, позволяющий писать и выполнять запросы непосредственно в интерфейсе Grafana. Чтобы использовать этот метод, выполните следующие действия:

  1. Запустите Grafana и перейдите на панель управления, куда вы хотите добавить панель.
  2. Нажмите «Добавить панель» и выберите тип визуализации.
  3. В конфигурации панели прокрутите вниз до раздела «Запрос» и выберите «InfluxQL» в качестве языка запроса.
  4. Введите запрос InfluxQL в редакторе.
  5. Нажмите «Применить» или «Выполнить запрос», чтобы выполнить запрос и просмотреть результаты.

Пример:

Предположим, вы хотите получить среднюю температуру, зафиксированную в результате измерения под названием «температура» за последние 24 часа. Соответствующий запрос InfluxQL будет:

SELECT MEAN("value") FROM "temperature" WHERE time > now() - 24h

Метод 2: использование шаблонных переменных InfluxQL

Grafana позволяет вам определять переменные шаблона, которые можно использовать в запросах InfluxQL. Эти переменные обеспечивают динамическую фильтрацию и позволяют использовать больше интерактивных панелей мониторинга. Чтобы использовать этот метод, выполните следующие действия:

  1. Создайте новую панель мониторинга или отредактируйте существующую в Grafana.
  2. Нажмите на значок настроек в правом верхнем углу и выберите «Переменные».
  3. Определите новую переменную, указав имя, запрос и источник данных (InfluxDB).
  4. Используйте определенную переменную в своих запросах InfluxQL, заключив ее в фигурные скобки {}.

Пример:

Предположим, у вас есть переменная шаблона с именем $sensor, которая представляет различные датчики температуры. Вы можете использовать эту переменную в запросе InfluxQL для фильтрации данных на основе выбранного датчика:

SELECT "value" FROM "temperature" WHERE "sensor" = '$sensor'

Метод 3: использование аннотаций с запросами InfluxQL

Grafana позволяет создавать аннотации, которые представляют собой события или маркеры, наложенные на график, используя данные из запроса InfluxDB. Чтобы использовать этот метод, выполните следующие действия:

  1. Откройте панель управления, куда вы хотите добавить аннотации.
  2. Нажмите на значок настроек и выберите «Аннотации».
  3. Выберите InfluxDB в качестве источника данных и настройте параметры запроса.
  4. Напишите запрос InfluxQL, который извлекает данные для аннотаций.
  5. Выберите параметры визуализации и форматирования аннотаций.

Пример:

Предположим, вы хотите создать аннотации для определенных значений температуры, превышающих пороговое значение. Следующий запрос InfluxQL извлекает временные метки и значения, превышающие 30 градусов Цельсия:

SELECT time, "value" FROM "temperature" WHERE "value" > 30

В этой статье мы рассмотрели различные методы использования InfluxQL в Grafana. Мы рассмотрели использование редактора InfluxQL, использование шаблонных переменных и создание аннотаций с помощью запросов InfluxQL. Используя возможности InfluxDB и Grafana вместе, вы можете эффективно хранить и визуализировать данные временных рядов, обеспечивая эффективный мониторинг и анализ.