# Conexión con Grafana

Esta guía demuestra cómo conectar Grafana a **Consulta IoT** para visualizar datos telemáticos y de flota. Grafana ofrece potentes capacidades de visualización para supervisar el estado de los vehículos, los datos de los sensores y otras métricas en tiempo real.

{% hint style="info" %}
Esta guía forma parte del **Consulta IoT** paquete de documentación y, en concreto, cubre la conexión de Power BI a su almacén de datos. Si aún está decidiendo qué herramienta de BI utilizar, consulte la [Selección de herramientas de BI](https://www.navixy.com/docs/analytics/datahub/connection-setup/selecting-bi-tools) descripción general.
{% endhint %}

Vea un breve vídeo de introducción para conocer lo que es posible con **Consulta IoT**+ la combinación de Grafana (disponible en inglés y español):

{% tabs %}
{% tab title="English" %}
{% embed url="<https://youtu.be/jGO3hIAjPCo?si=7bzWO4XrTwGnTq3c>" %}
**Consulta IoT** + tutorial de introducción y configuración de Grafana.
{% endembed %}
{% endtab %}

{% tab title="Español" %}
{% embed url="<https://youtu.be/jEf7i_mAWPE?si=pru7QyYHzyoqK79Q>" %}
Descripción general y tutorial de configuración de **Consulta IoT** + Grafana.
{% endembed %}
{% endtab %}
{% endtabs %}

## Características del panel

* Visualización de datos de sensores en tiempo real
* Análisis de series temporales con intervalos de tiempo personalizables
* Filtrado dinámico mediante variables
* Compatibilidad con múltiples fuentes de datos
* Gráficos y diagramas interactivos
* Creación de consultas personalizadas con SQL

## Requisitos técnicos

* Grafana 9.3 o posterior
* Complemento de fuente de datos de PostgreSQL (incluido de forma predeterminada)
* Acceso a Internet para la conexión a la base de datos
* Activo **Consulta IoT** instancia con credenciales de conexión

## Instalación y configuración

Grafana debe estar instalado en su sistema antes de que pueda conectarse a **Consulta IoT**.

{% stepper %}
{% step %}

#### Instalar Grafana

1. Descargue e instale Grafana desde el sitio web oficial:\
   <https://grafana.com/grafana/download>
2. Siga las instrucciones de instalación correspondientes a su sistema operativo.
   {% endstep %}

{% step %}

#### Descargar plantillas de paneles de control (opcional)

Hay plantillas de paneles de control predefinidas disponibles para ayudarle a empezar rápidamente sin crear visualizaciones desde cero. Estas plantillas se mantienen en el [repositorio bi-intergrations](https://github.com/SquareGPS/bi-intergrations) en la carpeta `grafana` . Puede clonar el repositorio para acceder a paneles de control listos para usar:

```bash
git clone https://github.com/SquareGPS/bi-intergrations.git
```

Consulte la carpeta `grafana` para ver los archivos JSON de paneles de control disponibles.
{% endstep %}
{% endstepper %}

## Conexión a la base de datos

La sección Connections en Grafana es donde gestiona todas las integraciones de fuentes de datos.

{% stepper %}
{% step %}

#### Acceder a la pestaña Connections

Abra Grafana y vaya a **Connections** en la barra lateral izquierda. **Consulta IoT** se ejecuta sobre PostgreSQL, por lo que debe añadir una fuente de datos de PostgreSQL para permitir que Grafana consulte sus datos telemáticos.
{% endstep %}

{% step %}

#### Añadir fuente de datos de PostgreSQL

El complemento de fuente de datos de PostgreSQL viene preinstalado con Grafana y ofrece compatibilidad nativa para conectarse a bases de datos PostgreSQL.

Para añadir la fuente de datos:

1. En la sección Connections, busque **PostgreSQL**
2. Haga clic **Añadir nueva fuente de datos**
3. Se abrirá la página de configuración de PostgreSQL
   {% endstep %}

{% step %}

#### Configurar los parámetros de conexión

Su **Consulta IoT** los detalles de conexión contienen toda la información necesaria para establecer una conexión segura. Estos parámetros son exclusivos de su instancia y garantizan que Grafana pueda acceder a sus datos telemáticos.

Localice sus parámetros de conexión en su cuenta de Navixy y en el **Consulta IoT** correo electrónico de bienvenid&#x61;**.**

**Referencia de parámetros de conexión**

| Parámetro                  | Campo de configuración | Descripción                                                                                                  |
| -------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------ |
| Host                       | `Host`                 | Dirección del servidor de base de datos proporcionada en sus **Consulta IoT** detalles de conexión           |
| Puerto                     | `Puerto`               | El valor predeterminado es 5432 para PostgreSQL                                                              |
| Nombre de la base de datos | `Base de datos`        | El nombre de base de datos asignado a usted                                                                  |
| Nombre de usuario          | `Usuario`              | Su nombre de usuario de la base de datos (denominado "usuario de base de datos" en los detalles de conexión) |
| Contraseña                 | `Contraseña`           | Su contraseña segura de la base de datos                                                                     |
| Modo SSL                   | `Modo SSL`             | Establecer en `require` para conexiones seguras                                                              |
| Versión de PostgreSQL      | `Versión`              | Seleccione **9.3** (configuración recomendada)                                                               |
| {% endstep %}              |                        |                                                                                                              |

{% step %}

#### Configurar ajustes adicionales

Además de los parámetros de conexión esenciales, Grafana ofrece opciones de configuración adicionales. Para la mayoría de los usuarios, los valores predeterminados son adecuados y funcionarán correctamente sin modificaciones. Puede ajustar estos parámetros más adelante en función de los requisitos de seguridad de su organización, las limitaciones de infraestructura o las necesidades específicas del equipo.

Deje todos los demás campos con sus valores predeterminados para la configuración inicial. No necesita activar ningún interruptor ni conmutador adicional.
{% endstep %}

{% step %}

#### Probar la conexión

Probar la conexión antes de guardar garantiza que todos los parámetros sean correctos y que Grafana pueda comunicarse correctamente con su **Consulta IoT** de su organización.

Para verificar y guardar:

1. Asigne a su conexión un identificador descriptivo (por ejemplo, "**Consulta IoT** Producción" o "Análisis de flota")
2. Haga clic **Guardar y probar** para verificar su conexión
3. Un mensaje verde de éxito indica que la conexión funciona correctamente
   {% endstep %}
   {% endstepper %}

## Crear su primera visualización

Crear su primera visualización le ayuda a comprender cómo Grafana consulta **Consulta IoT** y muestra los datos telemáticos. Este proceso implica crear un panel de control, añadir un panel, configurar una consulta y seleccionar un formato de visualización adecuado.

{% stepper %}
{% step %}
**Crear un nuevo panel de control**

Los paneles de control en Grafana sirven como contenedores para múltiples visualizaciones. Crear un panel de control dedicado le ayuda a organizar visualizaciones relacionadas y proporciona un lugar central para supervisar aspectos específicos de las operaciones de su flota.

Para crear un panel de control:

1. Vaya a **Paneles de control** en la barra lateral izquierda
2. Haga clic **Crear panel de control**
3. Seleccione **Añadir visualización**
4. Elija la fuente de datos de PostgreSQL que acaba de configurar
   {% endstep %}

{% step %}
**Configurar la consulta**

Grafana ofrece dos modos de consulta: un generador visual y un editor de código. Para **Consulta IoT** las conexiones, el editor de código le brinda control total sobre las consultas SQL y se recomienda para el análisis de datos telemáticos.

Para escribir su consulta:

1. En el editor de consultas, cambie de **Generador** a **Código** modo
2. Introduzca su consulta SQL directamente

Ejemplo de consulta para la visualización de datos de sensores:

```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
```

La consulta incluye un componente de tiempo (`device_time AS time`) que es esencial para las visualizaciones de series temporales. La `$__timeFilter()` función es una macro de Grafana que aplica automáticamente al tiempo seleccionado del panel de control a su consulta.

Para más ejemplos de consultas, consulte el [SQL Recipe Book](https://www.navixy.com/docs/analytics/example-queries).
{% endstep %}

{% step %}
**Establecer el formato de visualización**

El formato de visualización determina cómo aparecen sus datos en el panel de control. Los distintos formatos se adaptan a diferentes tipos de datos: las series temporales funcionan bien para lecturas de sensores a lo largo del tiempo, mientras que las tablas son mejores para registros detallados.

Para configurar el formato:

1. Haga clic **Ejecutar consulta** para verificar que su consulta devuelve datos
2. Localice el selector del tipo de visualización (normalmente en la esquina superior derecha del panel)
3. Cambie el formato de **Tabla** a **Series temporales** o su formato preferido
4. Observe la visualización de datos para asegurarse de que se muestra correctamente

Las visualizaciones de series temporales requieren una columna de tiempo y valores numéricos para funcionar correctamente. Su consulta debe devolver datos en el formato adecuado para el tipo de visualización seleccionado.
{% endstep %}

{% step %}
**Guardar su visualización**

Guardar su trabajo preserva la configuración de la visualización y la deja disponible para futuras consultas. Guardar con regularidad es importante: Grafana no guarda los cambios automáticamente, por lo que podría perder su trabajo si navega fuera sin guardar.

Para guardar una visualización:

1. Haga clic **Guardar**
2. Proporcione un nombre descriptivo para su panel de control
3. Seleccione o cree una carpeta para organizarlo
4. Confirme la operación de guardado

El panel de control ya está disponible en su instancia de Grafana y puede accederse a él a través del menú Dashboards.
{% endstep %}
{% endstepper %}

### Trabajar con variables

Las variables son una de las funciones más potentes de Grafana para crear paneles de control dinámicos e interactivos. En lugar de codificar valores específicos como nombres de sensores o IDs de dispositivos en sus consultas, las variables permiten a los usuarios seleccionar distintos valores desde menús desplegables sin editar el SQL subyacente. Esto hace que los paneles sean más flexibles y fáciles de usar.

{% stepper %}
{% step %}
**Acceder a la configuración de variables**

Las variables se configuran a nivel de panel de control y se aplican a todas las visualizaciones dentro de ese panel. Debe acceder a la configuración del panel para crear y administrar variables.

Para empezar:

1. Abra su panel de control
2. Haga clic en el **icono de configuración** del panel de control (icono de engranaje) en la esquina superior derecha
3. Vaya a la sección **Variables** en el panel izquierdo
4. La sección estará vacía si aún no se han creado variables
   {% endstep %}

{% step %}
**Configurar una variable**

Cada variable necesita un nombre, una fuente de datos y una consulta que devuelva los posibles valores que los usuarios pueden seleccionar. Los valores de la variable se rellenan dinámicamente mediante consultas a su **Consulta IoT** de su organización.

Para crear una variable:

1. Haga clic **Añadir variable**
2. Configure los siguientes ajustes:
   1. **Ajustes generales:**
      1. **Nombre**: `sensor_name` (use un identificador claro y descriptivo sin espacios)
      2. **Etiqueta**: igual que el nombre para mantener la coherencia; esto es lo que ven los usuarios en el panel de control
      3. **Tipo**: Seleccione **Consulta** para poblar los valores desde la base de datos
   2. **Opciones de consulta:**
      1. **Fuente de datos**: Seleccione su PostgreSQL **Consulta IoT** conexión en el desplegable
      2. **Consulta**: Introduzca una consulta SQL para poblar los valores de la variable

Ejemplo de consulta para listar todos los sensores de un dispositivo específico:

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

Tras introducir la consulta, Grafana la ejecuta inmediatamente y muestra una vista previa de los valores devueltos en la parte inferior de la página de configuración. Esto confirma que su consulta funciona correctamente y muestra qué opciones estarán disponibles en el desplegable.
{% endstep %}

{% step %}
**Aplicar variables en consultas**

Una vez creada una variable, debe actualizar las consultas de sus visualizaciones para hacer referencia a ella. Las variables utilizan una sintaxis especial con el prefijo de signo de dólar, y Grafana sustituye automáticamente el valor seleccionado al ejecutar las consultas.

Para usar la variable:

1. Abra la visualización que desea hacer dinámica
2. Edite la consulta
3. Sustituya el valor codificado por la referencia a la variable

Ejemplo de consulta actualizada usando la variable:

```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
```

Observe cómo `'temperature'` ha sido reemplazado por `'$sensor_name'`. Las comillas son importantes para los valores de tipo cadena en SQL.
{% endstep %}

{% step %}
**Guardar y probar**

Probar la variable garantiza que funciona correctamente y actualiza las visualizaciones como se espera. Asegúrese de guardar su trabajo en cada paso para evitar perder los cambios de configuración.

Para completar la configuración:

1. Haga clic **Aplicar** para guardar la configuración de la variable
2. Haga clic **Guardar panel de control** para conservar todos los cambios
3. Regrese a la vista principal del panel de control
4. Localice el desplegable de la variable en la parte superior del panel de control
5. Seleccione distintos nombres de sensor en el desplegable
6. Observe que la visualización se actualiza automáticamente con los datos del sensor seleccionado

Si la visualización no se actualiza cuando cambia la selección de la variable, verifique que el nombre de la variable en su consulta coincida exactamente con el nombre de la variable que creó (los nombres de variable distinguen entre mayúsculas y minúsculas).
{% endstep %}
{% endstepper %}

### Importar paneles de control predefinidos

Los paneles de control predefinidos ofrecen una forma rápida de empezar a visualizar sus datos sin construirlo todo desde cero. Estos paneles están diseñados por usuarios experimentados e incluyen buenas prácticas de visualización, diseño y optimización de consultas. Sin embargo, requieren configuración para conectarse a su **Consulta IoT** de su organización.

{% stepper %}
{% step %}
**Acceder a la función de importación**

La función de importación de Grafana le permite cargar configuraciones de paneles de control desde archivos JSON o directamente desde Grafana.com mediante IDs de paneles de control.

1. Vaya a **Paneles de control**
2. Haga clic **Nuevo** → **Import**
3. Aparecerá una ventana de carga
   {% endstep %}

{% step %}
**Importar el panel de control**

El proceso de importación acepta configuraciones de paneles de control en varios formatos, lo que le proporciona flexibilidad a la hora de cargar paneles predefinidos.

Puede importar paneles de control utilizando:

* **ID del panel de control** de Grafana.com
* **archivo JSON** descargado del repositorio bi-intergrations
* **modelo JSON** pegado directamente

Si utiliza un archivo JSON:

1. Haga clic **Cargar archivo JSON**
2. Seleccione el archivo del panel de control
3. Proporcione un nombre y seleccione la carpeta de destino
4. Haga clic **Import**

Espere a que finalice la carga de la plantilla del panel de control. Una vez completada, el panel aparecerá, pero aún no mostrará datos porque sigue conectado a la fuente de datos original utilizada cuando se creó la plantilla.
{% endstep %}

{% step %}
**Actualizar conexiones de fuentes de datos**

Este es un paso crítico. Los paneles de control importados están inicialmente conectados a fuentes de datos externas que no tienen acceso a sus **Consulta IoT** datos. Debe actualizar cada visualización para usar su PostgreSQL **Consulta IoT** conexión.

Para actualizar las visualizaciones:

1. Abra el panel de control importado
2. Haga clic **Editar** en el primer panel de visualización (busque el icono de edición o el menú de tres puntos)
3. En el editor de consultas, localice el selector de fuente de datos
4. Cambie la fuente de datos de la fuente original de la plantilla a su PostgreSQL **Consulta IoT** conexión
5. Haga clic **Ejecutar consulta** para verificar que la visualización recupera datos correctamente
6. Haga clic **Guardar** para conservar los cambios
7. Repita este proceso para cada panel de visualización del panel de control

{% hint style="info" %}
Guarde su trabajo con frecuencia durante este proceso. Es posible que tenga varias visualizaciones que actualizar, y guardar después de cada una garantiza que no perderá el progreso.
{% endhint %}
{% endstep %}

{% step %}
**Actualizar las variables del panel de control**

Muchos paneles de control predefinidos utilizan variables para filtrado e interactividad. Estas variables también están conectadas a la fuente de datos original y deben actualizarse para consultar su **Consulta IoT** de su organización.

Para actualizar las variables:

1. Abra **icono de configuración** → **Variables**
2. Verá una lista de todas las variables utilizadas en el panel de control
3. Haga clic **Editar** en la primera variable
4. Localice el **Fuente de datos** desplegable en la sección Opciones de consulta
5. Cámbielo a su PostgreSQL **Consulta IoT** conexión
6. Verifique que la vista previa en la parte inferior muestre los valores esperados de su base de datos
7. Haga clic **Aplicar** para confirmar los cambios
8. Repita el proceso para cada variable de la lista

Después de actualizar todas las variables, guarde el panel de control de nuevo. Las variables deberían rellenarse ahora con valores de su **Consulta IoT** de su organización.
{% endstep %}

{% step %}
**Verificar el funcionamiento del panel de control**

Una vez que haya actualizado todas las visualizaciones y variables, verifique que todo funcione correctamente en conjunto. Esta comprobación final garantiza que el panel de control esté completamente funcional y listo para su uso habitual.

Para verificar:

1. Guarde el panel de control una última vez usando **Ctrl+S** o el **Guardar** botón
2. Actualice la página del navegador por completo (o use **F5**)
3. Compruebe que todas las visualizaciones muestran datos correctamente
4. Pruebe cada desplegable de variables para asegurarse de que se rellenan con valores
5. Seleccione diferentes valores de variable y confirme que las visualizaciones se actualizan en consecuencia
6. Pruebe distintos intervalos de tiempo usando el selector de tiempo

Si alguna visualización permanece vacía o muestra errores, vuelva al modo de edición y verifique la fuente de datos y la configuración de consultas de esos paneles específicos.
{% endstep %}
{% endstepper %}

## Solución de problemas

### Problemas de conexión a la base de datos

**Error de conexión**: Verifique que las credenciales y los parámetros de conexión coincidan exactamente con sus **Consulta IoT** detalles. Compruebe que el host, el puerto, el nombre de la base de datos, el nombre de usuario y la contraseña sean correctos.

**Error de firewall**: Asegúrese de que su red permite conexiones al host y al puerto especificados. Póngase en contacto con su administrador de red si los intentos de conexión están bloqueados.

**Error de SSL/TLS**: Verifique que el modo SSL esté configurado en `require` y que su instancia de Grafana admita conexiones SSL.

### Problemas de consultas y visualización

**Visualización vacía**: Primero, verifique que la consulta realmente devuelve datos revisando el inspector de consultas (haga clic en el botón "Query inspector" en el editor del panel). Asegúrese de que el intervalo de tiempo seleccionado incluya periodos en los que existan datos en su base de datos. Confirme que la fuente de datos esté correctamente seleccionada y conectada. Compruebe que los nombres de tablas y columnas de su consulta coincidan con la estructura real del esquema.

**La variable no funciona**: Verifique que la consulta de la variable devuelve valores comprobando la vista previa en la página de configuración de la variable. Asegúrese de que la referencia a la variable en su consulta use la sintaxis correcta (`$variable_name`) sin errores tipográficos. Compruebe que la variable esté correctamente guardada y aplicada al panel de control. Si el desplegable de la variable está vacío, revise la consulta SQL de la variable en busca de errores.

**Rendimiento lento de la consulta**: Considere añadir índices de base de datos a columnas consultadas con frecuencia como `device_time` y `device_id`. Limite los intervalos de datos usando filtros de tiempo de manera más restrictiva. Optimice la estructura de la consulta seleccionando solo las columnas necesarias en lugar de usar `SELECT *`. Consulte el [SQL Recipe Book](https://www.navixy.com/docs/analytics/example-queries) para ver ejemplos de optimización del rendimiento y patrones de consulta probados.

**Incompatibilidad de formato**: Asegúrese de que su consulta devuelve datos en el formato esperado por el tipo de visualización. Los paneles de series temporales requieren una columna con alias de `time` y columnas de valores numéricos. Los paneles de tabla aceptan cualquier estructura de columnas. Los paneles de gráficos necesitan datos temporales y numéricos. Consulte la documentación de Grafana para conocer los requisitos específicos de cada tipo de visualización.

### Problemas de importación

**Faltan datos después de la importación**: Verifique que las conexiones de las fuentes de datos se hayan actualizado para todos los paneles y variables. No omita ningún panel durante el proceso de actualización. Compruebe que los nombres de esquema (`raw_business_data` o `raw_telematics_data`) especificados en las consultas sean correctos para su **Consulta IoT** instancia. Asegúrese de que los nombres de tablas y columnas coincidan con la estructura real de su base de datos.

**El panel de control muestra errores**: Abra el editor de consultas de cada panel y haga clic en "Query inspector" para ver mensajes de error detallados. Revise los mensajes de error con atención; a menudo indican problemas específicos como columnas faltantes, tipos de datos incorrectos o errores de sintaxis. Asegúrese de que los nombres de campo en las consultas coincidan exactamente con su **Consulta IoT** esquema (los nombres de campo distinguen entre mayúsculas y minúsculas). Verifique que los tipos de datos devueltos por las consultas sean compatibles con el tipo de visualización.

**Las variables no se rellenan**: Compruebe que haya actualizado la fuente de datos de cada variable, no solo los paneles de visualización. Verifique que las consultas de variables sean sintácticamente correctas y devuelvan datos cuando se ejecutan directamente. Asegúrese de que el tipo de variable esté configurado como "Query" y no como "Custom" u otros tipos.

## Próximos pasos

Después de conectar con éxito Grafana a su **Consulta IoT** instancia:

* Explore los esquemas de datos disponibles revisando la sección [Resumen del esquema](/docs/analytics/es/iot-query/schema-overview.md) para comprender la estructura de los datos, las relaciones entre tablas y los campos disponibles.
* Empiece con consultas sencillas centradas en entidades empresariales específicas antes de crear paneles de control complejos; esto le ayudará a aprender la estructura de datos y evitar problemas de rendimiento.
* Revise el [SQL Recipe Book](/docs/analytics/es/example-queries.md) para ver patrones de consulta probados y técnicas de optimización, así como ejemplos de escenarios comunes de analítica telemática
* Experimente con distintos tipos de visualización (series temporales, tablas, indicadores, paneles de estado) para encontrar la mejor representación para sus datos y casos de uso específicos
* Considere crear varios paneles de control para distintos fines: supervisión en tiempo real, análisis histórico, resúmenes ejecutivos e informes operativos.

### Soporte

Para preguntas técnicas o asistencia con **Consulta IoT** las conexiones, póngase en contacto con soporte en <support@navixy.com>.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

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

The question should be specific, self-contained, and written in natural language.
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.
