# Discovery

Este plugin puede integrarse con el *Discovery* de Pandora FMS.

Para ello se debe cargar el paquete `.disco` correspondiente desde la librería de Pandora FMS o desde el sistema de plugins de la consola.

Una vez cargado, se podrán monitorizar bases de datos Azure SQL creando tareas de *Discovery* desde la sección correspondiente de Cloud/Application Discovery.

En el paso **Azure credentials** se solicitarán los siguientes datos:

- **Tenant ID:** identificador del tenant de Azure usado por el Service Principal.
- **Subscription ID:** identificador de la suscripción de Azure donde se descubrirán los recursos.
- **Client ID:** identificador de aplicación del Service Principal.
- **Client secret:** secreto del Service Principal.
- **API endpoint:** endpoint de gestión de Azure. En entornos estándar debe dejarse vacío.
- **Login endpoint:** endpoint de autenticación de Azure. En entornos estándar debe dejarse vacío.

En el paso **SQL discovery** se podrán configurar las opciones de descubrimiento:

- **Resource group:** filtro opcional para limitar el descubrimiento a un grupo de recursos.
- **SQL server name:** filtro opcional para limitar el descubrimiento a un servidor SQL concreto.
- **Database name:** filtro opcional para monitorizar una única base de datos.
- **Create agent per database:** si está activo, cada base de datos genera su propio agente. Si está desactivado, todos los módulos se envían al agente indicado en **Target agent**.
- **Target agent:** agente destino usado únicamente cuando **Create agent per database** está desactivado.
- **Agent prefix:** prefijo opcional para los agentes creados por base de datos.
- **Module prefix:** prefijo opcional para los nombres de módulos.
- **Agent interval:** intervalo de los agentes creados o actualizados.
- **Timeout:** timeout de llamadas HTTP a Azure. Si se configura un valor inferior a `30`, el plugin utilizará `30` segundos.
- **Scan databases:** activa la consulta a Azure para descubrir bases de datos.
- **Enable entities file re-scan interval:** activa el refresco periódico del fichero de entidades.
- **Re-scan entities file interval:** intervalo usado para reconstruir la caché de entidades cuando el re-scan está activado.
- **Skip master database:** evita crear módulos para la base de datos `master`.

En el paso **Modules** se podrán activar o desactivar grupos de módulos:

- **Performance modules:** crea módulos de CPU, DTU, lecturas físicas, escritura de log, sesiones y workers.
- **Storage modules:** crea módulos de espacio usado, porcentaje de uso y almacenamiento asignado.
- **Connection modules:** crea módulos de conexiones correctas, conexiones fallidas y conexiones bloqueadas por firewall.
- **Tempdb and XTP modules:** crea módulos de tamaño de datos de `tempdb`, tamaño de log de `tempdb`, porcentaje de log usado y almacenamiento XTP.
- **Deadlock modules:** crea el módulo de deadlocks.

Las tareas completadas con éxito tendrán un resumen de ejecución con información similar a:

- **resources_discovered:** número de bases de datos descubiertas en la ejecución actual.
- **resources_vanished:** número de bases de datos almacenadas previamente que ya no aparecen en el descubrimiento actual.
- **modules:** número total de módulos generados.
- **errors:** número de errores detectados durante la ejecución.