> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/ru/iot-query/connection-setup/selecting-bi-tools/connecting-grafana.md).

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

Подключите Grafana к IoT Query через источник данных PostgreSQL. Создавайте диаграммы временных рядов и панели мониторинга для мониторинга телематических данных в реальном времени и за прошлые периоды

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

{% hint style="info" %}
Это руководство является частью **IoT Query** комплекта документации и посвящено подключению Power BI к вашему хранилищу данных. Если вы еще выбираете, какой BI-инструмент использовать, обратитесь к [Выбор BI-инструментов](https://www.navixy.com/docs/analytics/iot-query/connection-setup/selecting-bi-tools) обзору.
{% endhint %}

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

{% tabs %}
{% tab title="Английский" %}
{% embed url="<https://youtu.be/jGO3hIAjPCo?si=7bzWO4XrTwGnTq3c>" %}
**IoT Query** Обзор и руководство по настройке + Grafana.
{% endembed %}
{% endtab %}

{% tab title="Испанский" %}
{% embed url="<https://youtu.be/jEf7i_mAWPE?si=pru7QyYHzyoqK79Q>" %}
Обзор и руководство по настройке **IoT Query** + Grafana.
{% endembed %}
{% endtab %}
{% endtabs %}

## Возможности панели мониторинга

* Визуализация данных датчиков в реальном времени
* Анализ временных рядов с настраиваемыми временными диапазонами
* Динамическая фильтрация с использованием переменных
* Поддержка нескольких источников данных
* Интерактивные графики и диаграммы
* Создание пользовательских запросов с SQL

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

* Grafana 9.3 или более поздняя версия
* Плагин источника данных PostgreSQL (включен по умолчанию)
* Доступ к интернету для подключения к базе данных
* Активный **IoT Query** экземпляр с учетными данными подключения

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

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

{% stepper %}
{% step %}

#### Установка Grafana

1. Скачайте и установите Grafana с официального сайта:\
   <https://grafana.com/grafana/download>
2. Следуйте инструкциям по установке для вашей операционной системы.
   {% endstep %}

{% step %}

#### Скачивание шаблонов панели мониторинга (необязательно)

Доступны готовые шаблоны панелей мониторинга, которые помогут вам быстро начать работу без создания визуализаций с нуля. Эти шаблоны поддерживаются в [репозитории bi-intergrations](https://github.com/Navixy/bi-integrations) в `папке grafana. Вы можете клонировать репозиторий, чтобы получить доступ к готовым панелям мониторинга:` git clone <https://github.com/Navixy/bi-integrations.git>

```bash
Проверьте
```

папку на наличие доступных JSON-файлов панелей мониторинга. `папке grafana. Вы можете клонировать репозиторий, чтобы получить доступ к готовым панелям мониторинга:` раздел подключения к базе данных
{% endstep %}
{% endstepper %}

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

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

{% stepper %}
{% step %}

#### Откройте вкладку Подключения

Откройте Grafana и перейдите в **Подключения** в левой боковой панели. **IoT Query** работает на PostgreSQL, поэтому вам нужно добавить источник данных PostgreSQL, чтобы Grafana могла запрашивать ваши телематические данные.
{% endstep %}

{% step %}

#### Добавление источника данных PostgreSQL

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

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

1. В разделе Подключения найдите **PostgreSQL**
2. Нажмите **Добавить новый источник данных**
3. Откроется страница настройки PostgreSQL
   {% endstep %}

{% step %}

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

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

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

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

| Параметр          | Поле настройки | Описание                                                                            |
| ----------------- | -------------- | ----------------------------------------------------------------------------------- |
| Хост              | `Хост`         | Адрес сервера базы данных, указанный в ваших **IoT Query** сведениях о подключении  |
| Порт              | `Порт`         | По умолчанию 5432 для PostgreSQL                                                    |
| Имя базы данных   | `База данных`  | Назначенное вам имя базы данных                                                     |
| Имя пользователя  | `Пользователь` | Имя пользователя базы данных (в сведениях о подключении называется "database user") |
| Пароль            | `Пароль`       | Ваш защищенный пароль базы данных                                                   |
| Режим SSL         | `Режим SSL`    | Установите значение `require` для безопасных подключений                            |
| Версия PostgreSQL | `Версия`       | Выберите **9.3** (рекомендуемая настройка)                                          |
| {% endstep %}     |                |                                                                                     |

{% step %}

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

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

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

{% step %}

#### Проверка подключения

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

Чтобы проверить и сохранить:

1. Назовите ваше подключение понятным идентификатором (например, "**IoT Query** Production" или "Автопарк Analytics")
2. Нажмите **Сохранить и протестировать** чтобы проверить ваше подключение
3. Зеленое сообщение об успешном выполнении означает, что подключение работает корректно
   {% endstep %}
   {% endstepper %}

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

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

{% stepper %}
{% step %}
**Создайте новую панель мониторинга**

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

Чтобы создать панель мониторинга:

1. Перейдите в **Панели мониторинга** в левой боковой панели
2. Нажмите **Создать панель мониторинга**
3. Выберите **Добавить визуализацию**
4. Выберите только что настроенный источник данных PostgreSQL
   {% endstep %}

{% step %}
**Настройка запроса**

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

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

1. В редакторе запросов переключитесь с **Конструктор** на **Код** режим
2. Введите SQL-запрос напрямую

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

```sql
SELECT 
    device_time AS time,
    value::numeric AS value,
    sensor_name
FROM raw_telematics_data.inputs
WHERE sensor_name = 'temperature'
    AND device_id = 12345
    AND $__timeFilter(device_time)
ORDER BY device_time
```

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

Для получения дополнительных примеров запросов обратитесь к [Книга SQL-рецептов](https://www.navixy.com/docs/analytics/example-queries).
{% endstep %}

{% step %}
**Настройка формата визуализации**

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

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

1. Нажмите **Выполните запрос** чтобы проверить, что ваш запрос возвращает данные
2. Найдите селектор типа визуализации (обычно в правом верхнем углу панели)
3. Измените формат с **Таблица** на **Временные ряды** или предпочитаемый вами формат
4. Проверьте отображение данных, чтобы убедиться, что они отображаются правильно

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

{% step %}
**Сохраните вашу визуализацию**

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

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

1. Нажмите **Сохранить**
2. Укажите описательное имя для вашей панели мониторинга
3. Выберите или создайте папку для организации
4. Подтвердите операцию сохранения

Панель мониторинга теперь доступна в вашем экземпляре Grafana, и к ней можно получить доступ через меню Панели мониторинга.
{% endstep %}
{% endstepper %}

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

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

{% stepper %}
{% step %}
**Доступ к настройкам переменных**

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

Чтобы начать:

1. Откройте вашу панель мониторинга
2. панели мониторинга **Настройки** значок (значок шестеренки) в правом верхнем углу
3. Перейдите в **Переменные** раздел в левой панели
4. Раздел будет пустым, если переменные еще не созданы
   {% endstep %}

{% step %}
**Настройка переменной**

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

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

1. Нажмите **Добавить переменную**
2. Настройте следующие параметры:
   1. **Общие параметры:**
      1. **Имя**: `sensor_name` (используйте понятный описательный идентификатор без пробелов)
      2. **Метка**: То же, что и имя, для единообразия; это то, что пользователи видят на панели мониторинга
      3. **Тип**: Выберите **Запрос** для заполнения значений из базы данных
   2. **Параметры запроса:**
      1. **Источник данных**: Выберите ваш PostgreSQL **IoT Query** подключение в раскрывающемся списке
      2. **Запрос**: Введите SQL-запрос для заполнения значений переменной

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

```sql
SELECT DISTINCT sensor_name
FROM raw_telematics_data.inputs
WHERE device_id = 12345
ORDER BY sensor_name
```

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

{% step %}
**Применение переменных в запросах**

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

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

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

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

```sql
SELECT 
    device_time AS time,
    value::numeric AS value,
    sensor_name
FROM raw_telematics_data.inputs
WHERE sensor_name = '$sensor_name'
    AND device_id = 12345
    AND $__timeFilter(device_time)
ORDER BY device_time
```

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

{% step %}
**Сохраните и протестируйте**

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

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

1. Нажмите **Применить** чтобы сохранить конфигурацию переменной
2. Нажмите **Сохраните панель мониторинга** чтобы сохранить все изменения
3. Вернитесь к основному виду панели мониторинга
4. Найдите раскрывающийся список переменной в верхней части панели мониторинга
5. Выберите другие имена датчиков в раскрывающемся списке
6. Обратите внимание, что визуализация автоматически обновляется данными для выбранного датчика

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

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

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

{% stepper %}
{% step %}
**Откройте функцию импорта**

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

1. Перейдите в **Панели мониторинга**
2. Нажмите **Новый** → **Импорт**
3. Появится окно загрузки
   {% endstep %}

{% step %}
**Импортируйте панель мониторинга**

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

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

* **ID панели мониторинга** с Grafana.com
* **JSON-файл** скачанного из репозитория bi-intergrations
* **JSON-модель** вставленной напрямую

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

1. Нажмите **Загрузите JSON-файл**
2. Выберите файл панели мониторинга
3. Укажите имя и выберите папку назначения
4. Нажмите **Импорт**

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

{% step %}
**Обновление подключений к источникам данных**

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

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

1. Откройте импортированную панель мониторинга
2. Нажмите **Редактировать** на первой панели визуализации (ищите значок редактирования или меню с тремя точками)
3. В редакторе запросов найдите селектор источника данных
4. Измените источник данных с исходного источника шаблона на ваше подключение PostgreSQL **IoT Query** подключение
5. Нажмите **Выполните запрос** чтобы убедиться, что визуализация успешно получает данные
6. Нажмите **Сохранить** чтобы сохранить изменения
7. Повторите этот процесс для каждой панели визуализации на панели мониторинга

{% hint style="info" %}
Часто сохраняйте свою работу в процессе. У вас может быть несколько визуализаций для обновления, и сохранение после каждой из них гарантирует, что вы не потеряете прогресс.
{% endhint %}
{% endstep %}

{% step %}
**Обновление переменных панели мониторинга**

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

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

1. Откройте **Настройки** → **Переменные**
2. Вы увидите список всех переменных, используемых на панели мониторинга
3. Нажмите **Редактировать** у первой переменной
4. Найдите **Источник данных** раскрывающийся список в разделе параметров запроса
5. Измените его на ваше подключение PostgreSQL **IoT Query** подключение
6. Убедитесь, что предварительный просмотр внизу показывает ожидаемые значения из вашей базы данных
7. Нажмите **Применить** чтобы подтвердить изменения
8. Повторите для каждой переменной в списке

После обновления всех переменных снова сохраните панель мониторинга. Теперь переменные должны заполняться значениями из вашего **IoT Query** экземпляром.
{% endstep %}

{% step %}
**Проверка работоспособности панели мониторинга**

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

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

1. Сохраните панель мониторинга в последний раз с помощью **Ctrl+S** или **Сохранить** кнопки
2. Полностью обновите страницу браузера (или используйте **F5**)
3. Проверьте, что все визуализации отображают данные правильно
4. Проверьте каждый раскрывающийся список переменной, чтобы убедиться, что он заполняется значениями
5. Выберите разные значения переменных и подтвердите, что визуализации обновляются соответствующим образом
6. Попробуйте разные временные диапазоны с помощью выбора времени

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

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

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

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

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

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

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

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

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

**Медленная производительность запросов**: Рассмотрите возможность добавления индексов базы данных к часто запрашиваемым столбцам, таким как `device_time` и `device_id`. Ограничьте диапазоны данных, более жестко используя временные фильтры. Оптимизируйте структуру запроса, выбирая только необходимые столбцы вместо использования `SELECT *`. Обратитесь к [Книга SQL-рецептов](https://www.navixy.com/docs/analytics/example-queries) за примерами оптимизации производительности и проверенными шаблонами запросов.

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

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

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

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

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

## Следующие шаги

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

* Изучите доступные схемы данных, просмотрев [Обзор схемы](/docs/analytics/ru/iot-query/schema-overview.md) чтобы понять структуру данных, связи между таблицами и доступные поля.
* Начните с простых запросов, ориентированных на конкретные бизнес-сущности, прежде чем создавать сложные панели мониторинга — это поможет вам понять структуру данных и избежать проблем с производительностью.
* Ознакомьтесь с [Книга SQL-рецептов](/docs/analytics/ru/example-queries.md) с проверенными шаблонами запросов и методами оптимизации, а также примерами распространенных сценариев телематической аналитики
* Экспериментируйте с разными типами визуализации (временные ряды, таблицы, индикаторы, панели статистики), чтобы найти наилучшее представление для ваших конкретных данных и вариантов использования
* Рассмотрите возможность создания нескольких панелей мониторинга для разных целей: мониторинг в реальном времени, исторический анализ, сводки для руководства и операционные отчеты.

### Поддержка

По техническим вопросам или за помощью с **IoT Query** подключениями обращайтесь в службу поддержки по адресу <support@navixy.com>.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/analytics/ru/iot-query/connection-setup/selecting-bi-tools/connecting-grafana.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
