# Pandora AzurePostgresql

# Introducción

**Ver**. 23-08-2022  
  
Plugin con el que monitorear un servidor de datos de postgresql de azure.

<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="width: 97.037%;"><tbody><tr><td style="width: 31.8766%;">**Sistemas donde se ha probado**</td><td style="width: 68.1234%;">CentOS 7, Fedora, rocky linux

</td></tr><tr><td style="width: 31.8766%;">**Sistemas donde debería funcionar**</td><td style="width: 68.1234%;">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 id resource del servidor

# 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
serverpostgres_id:<server_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 del recurso que monitoriza el plugin estas son :**

\- ID de recurso del servidor Postgresql

**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 el menu del servidor , en información general, podremos ver la id de recurso de este 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="width: 100%;"><tbody><tr><td style="width: 17.9209%;">**Parámetro**</td><td style="width: 82.0791%;">**Descripción**</td></tr><tr><td style="width: 17.9209%;">--timespan</td><td style="width: 82.0791%;">En horas (opcional), ultimo periodo de tiempo, se puede utilizar en una ejecución personalizada para mostrar los datos desde un periodo de tiempo. (opcional) </td></tr><tr><td style="width: 17.9209%;">--metric</td><td style="width: 82.0791%;">Nombre de la métrica para ejecución personalizada. (opcional)</td></tr><tr><td style="width: 17.9209%;">--granularity</td><td style="width: 82.0791%;">En minutos combinado con timespan te mostrará los datos en intervalos. (opcional) </td></tr><tr><td style="width: 17.9209%;">--name\_module</td><td style="width: 82.0791%;">Para elegir el nombre del módulo en una ejecución personalizada. (opcional)</td></tr><tr><td style="width: 17.9209%;">--tentacle\_port</td><td style="width: 82.0791%;">Puerto de tentacle.Por defecto 41121 (opcional)</td></tr><tr><td style="width: 17.9209%;">--tentacle\_address</td><td style="width: 82.0791%;">Ip del servidor tentacle al que mandar los datos (opcional)</td></tr><tr><td style="width: 17.9209%;">--agent\_name</td><td style="width: 82.0791%;">Para ponerle un nombre al agente que contendrá los módulos , por defecto : "Azure SQL". (opcional)</td></tr><tr><td style="width: 17.9209%;">--prefix\_module</td><td style="width: 82.0791%;">Para ponerle un prefijo a los módulos por si se quieren diferencias de otras ejecuciones. (opcional)</td></tr><tr><td style="width: 17.9209%;">--conf</td><td style="width: 82.0791%;">Path del archivo conf con las querys (obligatorio)</td></tr><tr><td style="width: 17.9209%;">-g,--group</td><td style="width: 82.0791%;">Grupo de destino de Pandora FMS (opcional)</td></tr><tr><td style="width: 17.9209%;">--data\_dir</td><td style="width: 82.0791%;">Directorio de datos de Pandora FMS. **Por defecto** es */var/spool/pandora/data\_in/* (opcional)</td></tr><tr><td style="width: 17.9209%;">--as\_agent\_plugin</td><td style="width: 82.0791%;">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

**Ejecución manual básica**

```
./pandora_azurepostgresql --conf <path-conf> --as_agent_plugin 1
```

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

**Ejecución manual para la creación de módulo con intervalos personalizados**

```
./pandora_azurepostgresql --conf <path-conf> --as_agent_plugin 1 --timespan <period in hours> --granularity <interval in minutes> --metric <name-metric> --name_module <name_module>
```

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

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

# Configuración en PandoraFMS

**Como plugin de servidor**

**Instalación manual**

Iremos a servidores &gt; plugins:

[![ver plugin.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/r8Gver-plugin.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/r8Gver-plugin.png)

Pinchamos en añadir:

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/NUYimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/NUYimage.png)

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

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

```
/path_pandora_azurepostgresql
```

<p class="callout info align-center">Recuerda que la ruta recomendada para el uso de los plugins de servidor es: /usr/share/pandora\_server/util/plugin/</p>

Y en parámetros del plugin introduciremos estos seguidos de la macro "\_field&lt;N&gt;\_", el obligatorio para que funcione es --conf.

<p class="callout warning">Aunque no es obligatorio, es muy recomendable el uso del parámetro --agent\_name , ya que nos permite personalizar el nombre del agente que contendrá los módulos creados para cada consulta personalizada. También es recomendable usar el parámetro --prefix\_module ya que este nos permitirá asignar un prefijo a los módulos, lo que puede ser util para reconocerlos más rápido y diferenciarlos si creamos varias ejecuciones para bases de datos diferentes.</p>

**--CONF**

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/DlPimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/DlPimage.png)

Una vez hecho esto, daremos a "crear".

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

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/LBwimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/LBwimage.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-1661255594501.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/scaled-1680-/image-1661255594501.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/image-1661255594501.png)

Y creará los siguientes módulos:

<table border="1" id="bkmrk-cpu_percent-memory_p"><tbody><tr><td><div><div>cpu_percent</div></div></td></tr><tr><td><div><div>memory_percent</div></div></td></tr><tr><td><div><div>io_consumption_percent</div></div></td></tr><tr><td><div><div>storage_percent</div></div></td></tr><tr><td><div><div>storage_used</div></div></td></tr><tr><td><div><div>storage_limit</div></div></td></tr><tr><td><div><div>serverlog_storage_percent</div></div></td></tr><tr><td><div><div>serverlog_storage_usage</div></div></td></tr><tr><td><div><div>serverlog_storage_limit</div></div></td></tr><tr><td><div><div>active_connections</div></div></td></tr><tr><td><div><div>connections_failed</div></div></td></tr><tr><td><div><div>backup_storage_used</div></div></td></tr><tr><td><div><div>network_bytes_egress</div></div></td></tr><tr><td><div><div>network_bytes_ingress</div></div></td></tr><tr><td><div><div>pg_replica_log_delay_in_seconds</div></div></td></tr><tr><td><div><div>pg_replica_log_delay_in_bytes</div></div></td></tr></tbody></table>

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