# Pandora azure SQL

# Introducción

**Ver**. 11-05-2022  
  
Con este plugin se puede monitorizar una base de datos de azureSQL y sacar datos de esta.

<div id="bkmrk-tipo%3A-plug-in-de-ser"><div>**Tipo**: Plug-in de servidor</div></div>

# Matriz de compatibilidad

<table border="1" id="bkmrk-sistemas-donde-se-ha" style="height: 70px; width: 597px;"><tbody><tr style="height: 35px;"><td style="height: 35px; width: 291.719px;">**Sistemas donde se ha probado**</td><td style="height: 35px; width: 304.281px;">CentOS 7, Fedora, rocky linux

</td></tr><tr style="height: 35px;"><td style="height: 35px; width: 291.719px;">**Sistemas donde debería funcionar**</td><td style="height: 35px; width: 304.281px;">Cualquier sistema linux

</td></tr></tbody></table>

# Pre requisitos

- Tener el **Data Server** de Pandora FMS habilitado
- Tener el **Plugin Server** de Pandora FMS habilitado
- Conocer algunas credenciales de tu cuenta, como tu tenant id, secret, client id y el resource\_Id de la base de datos.

# Configuración previa

El plugin hace uso de un fichero en el que se pueden meter dos tipos de datos.

```
#credentials
tenant_id:<tenant-id>
client_id:<client-id>
secret:<secret>
#id resources
database_id:<database_resource_id>
```

**Obtención de credenciales necesarias para el uso del plugin.**

**1. Credenciales para autenticar:**

-Tenant id

-Client id

-Secret

**2. ID de recurso**

**Es necesaria la id de cada recurso que monitoriza el plugin estas son :**

\- ID de recurso de la base de datos

**Obtención de tenant id y client id.**

1\. Para obtener el tenant id y el client id, iremos al menú registro de aplicaciones dentro de active directory:

[![menu.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/menu.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/menu.png)

2\. Entraremos dentro de la aplicación.

[![menu2.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/menu2.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/menu2.png)

3\. En el menú de la aplicación aparecerá el tenant id y el client id.

[![menu3.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/menu3.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/menu3.png)

4\. Para encontrar el secreto iremos a certificados y secretos dentro del menu de active directory.

[![menu4.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/menu4.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/menu4.png)

5\. Dentro de este menú podremos ver las claves de secreto o generarlas (tiene que ser el valor de la clave, no la id)

[![menu5.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/menu5.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/menu5.png)

**Obtención de la id de recurso de la base de datos.**

En la base de datos, en información general, podremos ver la id de recurso de la base de datos pinchando en Vista json.

[![image-1652285449723.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/image-1652285449723.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/image-1652285449723.png)

# Parámetros

<table border="1" id="bkmrk-par%C3%A1metro-descripci%C3%B3" style="border-collapse: collapse; width: 100%; height: 401px;"><tbody><tr style="height: 29px;"><td style="width: 50%; height: 29px;">**Parámetro**</td><td style="width: 50%; height: 29px;">**Descripción**</td></tr><tr><td style="width: 50%;">--tentacle\_port</td><td style="width: 50%;">Puerto de tentacle.Por defecto 41121(opcional)</td></tr><tr><td style="width: 50%;">--tentacle\_address</td><td style="width: 50%;">Ip del servidor tentacle al que mandar los datos(opcional)</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--agent\_name</td><td style="width: 50%; height: 29px;">Para ponerle un nombre al agente que contendrá los módulos , por defecto : "Azure SQL". (opcional)</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--prefix\_module</td><td style="width: 50%; height: 29px;">Para ponerle un prefijo a los módulos por si se quieren diferencias de otras ejecuciones.(opcional)</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--conf</td><td style="width: 50%; height: 29px;">Path del archivo conf con las querys (obligatorio)</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">-g,--group</td><td style="width: 50%; height: 29px;">Grupo de destino de Pandora FMS (opcional)</td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;">--data\_dir</td><td style="width: 50%; height: 46px;">Directorio de datos de Pandora FMS. **Por defecto** es /var/spool/pandora/data\_in/ (opcional)</td></tr><tr style="height: 63px;"><td style="width: 50%; height: 63px;">--as\_agent\_plugin</td><td style="width: 50%; height: 63px;">Es opcional, si quieres que el plugin sea de agente y te meta los módulos en el agente de pandora, ejecuta esto con un 1 (opcional)</td></tr></tbody></table>

# Ejecución manual

Ejemplo de ejecución manual:

```
./pandora_azuresql -c <path_conf>
```

[![image-1652284119687.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/image-1652284119687.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/image-1652284119687.png)

```
./pandora_azure -c <path_conf> --as_agent_plugin 1 [--data_dir <path> --agent_name <nombre del agente>]
```

[![image-1652283880334.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/image-1652283880334.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/image-1652283880334.png)

# Configuración en PandoraFMS

**Como plugin de servidor**

**Instalación desde consola**

Para el registro del plugin, desde la consola, se debe ir al apartado "registrar plugin".

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/xLRimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/xLRimagen.png)

Daremos a seleccionar archivo.

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/2Emimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/2Emimagen.png)

Seleccionaremos el fichero pspz2 que contiene el plugin

[![Captura desde 2025-08-20 14-48-32.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-14-48-32.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-14-48-32.png)

Nos saldrá un mensaje que indicará si se ha registrado correctamente

[![Captura desde 2025-08-20 14-59-11.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-14-59-11.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-14-59-11.png)

Una vez registrado el plugin, lo veremos en el apartado plugins.

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/EJqimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/EJqimagen.png)

Pinchando en el título accederemos al menu del plugin.

[![Captura desde 2025-08-20 14-59-51.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-14-59-51.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-14-59-51.png)

En parámetros, veremos todos los del plugin, recordar que no todos son obligatorios, solo en los que así se especifíca

[![Captura desde 2025-08-20 15-01-29.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-15-01-29.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-15-01-29.png)

Abajo, en las macros de los parámetros podremos añadirles el valor requerido.

[![Captura desde 2025-08-20 15-02-58.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-15-02-58.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-15-02-58.png)

**Instalación manual**

Iremos a servidores &gt; plugins:

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/gSYimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/gSYimagen.png)

Pinchamos en añadir:

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/Qh9imagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/Qh9imagen.png)

Le ponemos en nombre y la descripción que se prefiera:

[![Captura desde 2025-08-20 15-08-48.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-15-08-48.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-15-08-48.png)

Metemos como comando la ejecución con la ruta del plugin:

```
/path_pandora_azuresql
```

Y en parámetros del plugin introduciremos estos seguidos de la macro "\_field\_", los obligatorios para que el plugin funcione son -c y --as\_agent\_plugin (en caso de que queramos ejecutarlo como plugin de servidor, si no este último no es imprescindible.

Definiremos estos con las macros abajo.

[![Captura desde 2025-08-20 15-10-20.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-15-10-20.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-15-10-20.png)

  
Una vez hecho esto, daremos a "crear".

Puedes comprobar que has introducido bien los valores ejecutando el comando de vista previa por terminal

Si no da errores es que se ha introducido bien.

Una vez hecho esto, solo queda llamarlo por lo que iremos a la vista de algún agente y crearemos un módulo de complementos:

[![Captura desde 2025-08-20 15-11-22.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/scaled-1680-/captura-desde-2025-08-20-15-11-22.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-08/captura-desde-2025-08-20-15-11-22.png)

Le daremos un nombre y en el apartado "plugin" pondremos el que acabamos de configurar.

Una vez hecho esto, damos a crear.

Si el modulo se muestra con 1, quiere decir que se esta ejecutando correctamente

# Módulos generados por el plugin

El plugin creará un agente con el nombre que hayamos puesto con el parametro --agent\_name.

[![image-1652281792427.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/image-1652281792427.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/image-1652281792427.png)

Y creará los siguientes módulos:

<table border="1" id="bkmrk-allocated_data_stora" style="border-collapse: collapse; width: 100%; height: 290px;"><tbody><tr style="height: 29px;"><td style="width: 100%; height: 29px;">allocated\_data\_storage</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">app\_cpu\_billed</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">app\_cpu\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">app\_memory\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">blocked\_by\_firewall</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">connection\_failed</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">connection\_successful</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">cpu\_limit</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">cpu\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">cpu\_used</td></tr></tbody></table>

<table border="1" id="bkmrk-deadlock-log_write_p" style="border-collapse: collapse; width: 100%; height: 290px;"><tbody><tr style="height: 29px;"><td style="width: 100%; height: 29px;">deadlock</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">log\_write\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">physical\_data\_read\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">sessions\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">sql\_server\_process\_core\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">sql\_server\_process\_memory\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">storage</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">storage\_percent</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">tempdb\_size</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">tempdb\_log\_size</td></tr></tbody></table>

<table border="1" id="bkmrk-tempdb_log_used_perc" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">tempdb\_log\_used\_Percent</td></tr><tr><td style="width: 100%;">workers percent</td></tr><tr><td style="width: 100%;">xtp\_storage\_percent</td></tr></tbody></table>

[![Captura desde 2025-07-17 14-56-39.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/captura-desde-2025-07-17-14-56-39.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/captura-desde-2025-07-17-14-56-39.png)