Подключение Grafana

Это руководство демонстрирует, как подключить Grafana к IoT Query для визуализации телематики и данных автопарка. Grafana предоставляет мощные возможности визуализации для мониторинга состояния транспортных средств, данных датчиков и других показателей в реальном времени.

circle-info

Это руководство является частью IoT Query набора документации и специально охватывает подключение Power BI к вашему хранилищу данных. Если вы все еще решаете, какой инструмент BI использовать, обратитесь к Выбор инструментов BIarrow-up-right обзору.

Просмотрите короткое видео-обзор, чтобы увидеть, что возможно с сочетанием IoT Query+Grafana (доступно на английском и испанском языках):

IoT Query + Обзор и учебное пособие по настройке Grafana.

Функции панели

  • Визуализация данных датчиков в реальном времени

  • Анализ временных рядов с настраиваемыми диапазонами времени

  • Динамическая фильтрация с использованием переменных

  • Поддержка нескольких источников данных

  • Интерактивные графики и диаграммы

  • Создание пользовательских запросов с использованием SQL

Технические требования

  • Grafana версии 9.3 или выше

  • Плагин источника данных PostgreSQL (включен по умолчанию)

  • Доступ в Интернет для подключения к базе данных

  • Активный IoT Query экземпляр с учетными данными для подключения

Установка и настройка

Grafana должна быть установлена на вашей системе до того, как вы сможете подключиться к IoT Query.

1

Установите Grafana

  1. Скачайте и установите Grafana с официального сайта: https://grafana.com/grafana/downloadarrow-up-right

  2. Следуйте инструкциям по установке для вашей операционной системы.

2

Загрузка шаблонов панелей (опционально)

Доступны готовые шаблоны панелей, которые помогут вам быстро начать работу без создания визуализаций с нуля. Эти шаблоны поддерживаются репозиторием bi-intergrationsarrow-up-right в папке grafana Вы можете клонировать репозиторий, чтобы получить доступ к готовым панелям:

Проверьте папку grafana на предмет доступных файлов JSON панели.

Подключение к базе данных

Раздел Connections в Grafana — это место, где вы управляете всеми интеграциями источников данных.

1

Доступ к вкладке Connections

Откройте Grafana и перейдите в Connections в левой боковой панели. IoT Query работает на PostgreSQL, поэтому вам необходимо добавить источник данных PostgreSQL, чтобы Grafana могла выполнять запросы к вашим телематическим данным.

2

Добавить источник данных PostgreSQL

Плагин источника данных PostgreSQL предварительно установлен в Grafana и предоставляет нативную поддержку подключения к базам данных PostgreSQL.

Чтобы добавить источник данных:

  1. В разделе Connections найдите PostgreSQL

  2. Нажмите Добавить новый источник данных

  3. Откроется страница конфигурации PostgreSQL

3

Настройте параметры подключения

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

Найдите параметры подключения в вашей учетной записи Navixy и в IoT Query приветственном письме.

Справочник параметров подключения

Параметр
Поле конфигурации
Описание

Хост

Хост

Адрес сервера базы данных, указанный в ваших IoT Query данных подключения

Порт

Порт

По умолчанию для PostgreSQL используется порт 5432

Имя базы данных

База данных

Назначенное вам имя базы данных

Имя пользователя

Пользователь

Имя пользователя вашей базы данных (в данных подключения обозначается как "database user")

Пароль

Пароль

Ваш защищённый пароль базы данных

Режим SSL

Режим SSL

Установите в require для безопасных подключений

Версия PostgreSQL

Версия

Выберите 9.3 (рекомендуемая настройка)

4

Настройка дополнительных параметров

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

Оставьте все остальные поля со значениями по умолчанию для первоначальной настройки. Вам не нужно включать дополнительные переключатели или тумблеры.

5

Проверка соединения

Проверка соединения перед сохранением гарантирует, что все параметры верны и что Grafana может успешно связаться с вашим IoT Query инстансу.

Для проверки и сохранения:

  1. Дайте вашему подключению описательное имя (например, "IoT Query Production" или "Fleet Analytics")

  2. Нажмите Save & Test чтобы проверить ваше подключение

  3. Зеленое сообщение об успехе указывает, что соединение работает корректно

Создание первой визуализации

Создание вашей первой визуализации поможет понять, как Grafana запрашивает IoT Query и отображает телематические данные. Этот процесс включает создание панели (dashboard), добавление панели отображения, настройку запроса и выбор подходящего формата визуализации.

1

Создать новую панель

Панели в Grafana служат контейнерами для нескольких визуализаций. Создание отдельной панели помогает организовать связанные визуализации и предоставляет центральное место для мониторинга конкретных аспектов работы автопарка.

Чтобы создать панель:

  1. Перейдите в Dashboards в левой боковой панели

  2. Нажмите Create Dashboard

  3. Выберите Добавить визуализацию

  4. Выберите источник данных PostgreSQL, который вы только что настроили

2

Настройте запрос

Grafana предлагает два режима запросов: визуальный Builder и редактор кода. Для IoT Query подключений редактор кода дает полный контроль над SQL-запросами и рекомендуется для анализа телематических данных.

Чтобы написать запрос:

  1. В редакторе запросов переключитесь с Builder на Code режим

  2. Введите ваш SQL-запрос напрямую

Пример запроса для визуализации данных датчика:

Запрос включает компонент времени (device_time AS time), который необходим для визуализаций временных рядов. Макрос $__timeFilter() — это макрос Grafana, который автоматически применяет выбранный диапазон времени панели к вашему запросу.

Для получения дополнительных примеров запросов обратитесь к SQL Recipe Bookarrow-up-right.

3

Установите формат визуализации

Формат визуализации определяет, как ваши данные отображаются на панели. Разные форматы подходят для разных типов данных — временные ряды хорошо подходят для показаний датчиков во времени, тогда как таблицы лучше для детализированных записей.

Чтобы настроить формат:

  1. Нажмите Выполните запрос чтобы убедиться, что ваш запрос возвращает данные

  2. Найдите селектор типа визуализации (обычно в правом верхнем углу панели)

  3. Измените формат с Table на на Time series или на предпочитаемый формат

  4. Просмотрите отображение данных, чтобы убедиться, что оно отображается корректно

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

4

Сохраните вашу визуализацию

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

Чтобы сохранить визуализацию:

  1. Нажмите Сохраните

  2. Укажите описательное имя для вашей панели

  3. Выберите или создайте папку для организации

  4. Подтвердите операцию сохранения

Панель теперь доступна в вашем экземпляре Grafana и может быть открыта через меню Dashboards.

Работа с переменными

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

1

Доступ к настройкам переменных

Переменные настраиваются на уровне панели и применяются ко всем визуализациям внутри этой панели. Вам нужно открыть настройки панели, чтобы создать и управлять переменными.

Для начала:

  1. Откройте вашу панель

  2. Нажмите на значок Settings (значок шестеренки) в правом верхнем углу

  3. Перейдите в раздел Variables в левой панели

  4. Раздел будет пустым, если переменные еще не созданы

2

Настройка переменной

Каждая переменная требует имени, источника данных и запроса, который возвращает возможные значения, которые пользователи могут выбрать. Значения переменной заполняются динамически путем запроса вашей IoT Query инстансу.

Чтобы создать переменную:

  1. Нажмите Добавить переменную

  2. Настройте следующие параметры:

    1. Общие настройки:

      1. Name: sensor_name (используйте ясный, описательный идентификатор без пробелов)

      2. Label: То же, что и имя для согласованности, это то, что видят пользователи на панели

      3. Type: Выберите Query чтобы заполнить значения из базы данных

    2. Параметры запроса:

      1. Источник данных: Выберите ваш PostgreSQL IoT Query подключение из выпадающего списка

      2. Query: Введите SQL-запрос для заполнения значений переменной

Пример запроса для перечисления всех датчиков для конкретного устройства:

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

3

Применение переменных в запросах

После создания переменной вам нужно обновить запросы визуализаций, чтобы ссылаться на неё. Переменные используют специальный синтаксис с префиксом знака доллара, и Grafana автоматически подставляет выбранное значение при выполнении запросов.

Чтобы использовать переменную:

  1. Откройте визуализацию, которую хотите сделать динамической

  2. Редактируйте запрос

  3. Замените жестко заданное значение ссылкой на переменную

Пример обновленного запроса с использованием переменной:

Обратите внимание, как 'temperature' было заменено на '$sensor_name'. Кавычки важны для строковых значений в SQL.

4

Сохраните и протестируйте

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

Чтобы завершить настройку:

  1. Нажмите Apply чтобы сохранить конфигурацию переменной

  2. Нажмите Save dashboard чтобы сохранить все изменения

  3. Вернуться к основному виду панели

  4. Найдите выпадающий список переменной в верхней части панели

  5. Выберите разные имена датчиков из выпадающего списка

  6. Убедитесь, что визуализация автоматически обновляется с данными для выбранного датчика

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

Импорт готовых панелей

Готовые панели предоставляют быстрый способ начать визуализировать ваши данные без создания всего с нуля. Эти панели разработаны опытными пользователями и включают лучшие практики по визуализации, компоновке и оптимизации запросов. Однако они требуют настройки для подключения к вашему конкретному IoT Query инстансу.

1

Доступ к функции импорта

Функция импорта Grafana позволяет загружать конфигурации панелей из файлов JSON или напрямую с Grafana.com с использованием идентификаторов панелей.

  1. Перейдите в Dashboards

  2. Нажмите NewImport

  3. Появится окно загрузки

2

Импорт панели

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

Вы можете импортировать панели с помощью:

  • ID панели с Grafana.com

  • JSON-файл скачанный из репозитория bi-intergrations

  • Модель JSON вставленная напрямую

Если используется JSON-файл:

  1. Нажмите Загрузите JSON-файл

  2. Выберите файл панели

  3. Укажите имя и выберите папку назначения

  4. Нажмите Import

Дождитесь завершения загрузки шаблона панели. После завершения панель появится, но она не будет отображать данные, поскольку все еще подключена к исходному источнику данных, использованному при создании шаблона.

3

Обновление подключений источников данных

Это критический шаг. Импортированные панели изначально подключены к внешним источникам данных, которые не имеют доступа к вашим IoT Query данным. Вы должны обновить каждую визуализацию, чтобы использовать ваше подключение PostgreSQL. IoT Query подключение.

Чтобы обновить визуализации:

  1. Откройте импортированную панель

  2. Нажмите Редактировать на первой панели визуализации (ищите значок редактирования или меню с тремя точками)

  3. В редакторе запросов найдите селектор источника данных

  4. Измените источник данных с оригинального источника шаблона на ваше PostgreSQL IoT Query подключение

  5. Нажмите Выполните запрос чтобы убедиться, что визуализация успешно получает данные

  6. Нажмите Сохраните чтобы сохранить изменения

  7. Повторите этот процесс для каждой панели визуализации на панели

circle-info

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

4

Обновление переменных панели

Многие готовые панели используют переменные для фильтрации и интерактивности. Эти переменные также подключены к исходному источнику данных и должны быть обновлены для выполнения запросов к вашему IoT Query инстансу.

Чтобы обновить переменные:

  1. Откройте SettingsVariables

  2. Вы увидите список всех переменных, используемых на панели

  3. Нажмите Редактировать на первой переменной

  4. Найдите Источник данных выпадающий список в разделе параметров запроса

  5. Измените его на ваш PostgreSQL IoT Query подключение

  6. Убедитесь, что предпросмотр внизу показывает ожидаемые значения из вашей базы данных

  7. Нажмите Apply чтобы подтвердить изменения

  8. Повторите для каждой переменной в списке

После обновления всех переменных снова сохраните панель. Переменные теперь должны заполняться значениями из вашей IoT Query инстансу.

5

Проверка работоспособности панели

После того как вы обновили все визуализации и переменные, убедитесь, что всё работает правильно вместе. Эта последняя проверка гарантирует, что панель полностью функциональна и готова к регулярному использованию.

Для проверки:

  1. Сохраните панель в последний раз, используя Ctrl+S или кнопку Сохраните button

  2. Полностью обновите страницу браузера (или используйте F5)

  3. Проверьте, что все визуализации отображают данные корректно

  4. Проверьте каждый выпадающий список переменных, чтобы убедиться, что он заполняется значениями

  5. Выберите разные значения переменных и убедитесь, что визуализации обновляются соответственно

  6. Попробуйте разные диапазоны времени с помощью селектора времени

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

Устранение неполадок

Проблемы с подключением к базе данных

Ошибка подключения: Проверьте, что учетные данные и параметры подключения точно соответствуют вашим IoT Query данным. Убедитесь, что хост, порт, имя базы данных, имя пользователя и пароль указаны верно.

Ошибка брандмауэра: Убедитесь, что ваша сеть разрешает подключения к указанному хосту и порту. Свяжитесь с вашим сетевым администратором, если попытки подключения блокируются.

Ошибка SSL/TLS: Убедитесь, что режим SSL установлен в require и что ваш экземпляр Grafana поддерживает SSL-подключения.

Проблемы с запросами и визуализациями

Пустая визуализация: Сначала убедитесь, что запрос действительно возвращает данные, проверив инспектор запросов (нажмите кнопку "Query inspector" в редакторе панели). Убедитесь, что выбранный диапазон времени включает периоды, когда в вашей базе данных имеются данные. Подтвердите, что источник данных выбран правильно и подключен. Проверьте, что имена таблиц и столбцов в вашем запросе соответствуют фактической структуре схемы.

Переменная не работает: Убедитесь, что запрос переменной возвращает значения, проверив предпросмотр на странице конфигурации переменной. Убедитесь, что ссылка на переменную в вашем запросе использует правильный синтаксис ($variable_name) без опечаток. Проверьте, что переменная корректно сохранена и применена к панели. Если выпадающий список переменной пуст, проверьте SQL-запрос переменной на наличие ошибок.

Медленная производительность запросов: Рассмотрите возможность добавления индексов в часто запрашиваемые столбцы, такие как device_time и device_id. Ограничьте диапазоны данных, используя более строгие фильтры по времени. Оптимизируйте структуру запросов, выбирая только необходимые столбцы вместо использования SELECT *. Обратитесь к SQL Recipe Bookarrow-up-right для примеров оптимизации производительности и проверенных шаблонов запросов.

Несоответствие формата: Убедитесь, что ваш запрос возвращает данные в формате, ожидаемом для выбранного типа визуализации. Панели временных рядов требуют столбца, переименованного как time и числовых столбцов значений. Табличные панели принимают любую структуру столбцов. Графические панели требуют данных времени и числовых значений. Проверьте документацию Grafana для конкретных требований каждого типа визуализации.

Проблемы при импорте

Отсутствие данных после импорта: Убедитесь, что подключения источников данных обновлены для всех панелей и переменных. Не пропускайте ни одной панели в процессе обновления. Проверьте, что имена схем (raw_business_data или raw_telematics_data) указанные в запросах корректны для вашего IoT Query экземпляра. Убедитесь, что имена таблиц и столбцов соответствуют фактической структуре вашей базы данных.

Панель показывает ошибки: Откройте редактор запросов каждой панели и нажмите "Query inspector", чтобы увидеть подробные сообщения об ошибках. Тщательно просмотрите сообщения об ошибках — они часто указывают на конкретные проблемы, такие как отсутствующие столбцы, неправильные типы данных или синтаксические ошибки. Убедитесь, что имена полей в запросах точно соответствуют вашей IoT Query схеме (имена полей чувствительны к регистру). Проверьте, что типы данных, возвращаемые запросами, совместимы с типом визуализации.

Переменные не заполняются: Проверьте, что вы обновили источник данных для каждой переменной, а не только для панелей визуализации. Убедитесь, что запросы переменных синтаксически корректны и возвращают данные при выполнении напрямую. Проверьте, что тип переменной установлен в "Query", а не в "Custom" или другие типы.

Дальнейшие шаги

После успешного подключения Grafana к вашему IoT Query экземпляру:

  • Изучите доступные схемы данных, просмотрев Обзор схемы чтобы понять структуру данных, связи между таблицами и доступные поля.

  • Начните с простых запросов, ориентированных на конкретные бизнес-сущности, прежде чем создавать сложные панели — это поможет вам изучить структуру данных и избежать проблем с производительностью.

  • Просмотрите SQL Recipe Book для проверенных шаблонов запросов и методов оптимизации, а также примеров распространенных сценариев аналитики телематики

  • Экспериментируйте с разными типами визуализаций (временные ряды, таблицы, индикаторы, панели статистики), чтобы найти наилучшее представление для ваших данных и сценариев использования

  • Рассмотрите возможность создания нескольких панелей для разных целей: мониторинг в реальном времени, исторический анализ, сводки для руководства и оперативные отчеты.

Поддержка

По техническим вопросам или для получения помощи с подключениями IoT Query свяжитесь со службой поддержки по адресу [email protected]envelope.

Последнее обновление

Это было полезно?