# Pandora Azure Storage

# Introducción

**Ver**. 09-05-2022  
  
Con este plugin se puede monitorizar una cuenta de almacenamiento y sacar datos de esta, de la blob storage, queue storage y file storage.

<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: 476px;"><tbody><tr style="height: 35px;"><td style="height: 35px; width: 233px;">**Sistemas donde se ha probado**</td><td style="height: 35px; width: 243px;">CentOS 7, Fedora, rocky linux

</td></tr><tr style="height: 35px;"><td style="height: 35px; width: 233px;">**Sistemas donde debería funcionar**</td><td style="height: 35px; width: 243px;">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 los resource id de los servicios

# Configuración previa

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

**El plugin hace uso de un fichero.conf en el que se podrán meter tres tipos de datos.**

<div id="bkmrk-%23credentialstenant_i">```
#credentials<br></br>tenant_id:<tenant_id><br></br>client_id:<client_id><br></br>secret:<secret><br></br>#id resources<br></br>account_id:<account_id><br></br>blobservice_id:<blobservice_id><br></br>fileservice_id:<fileservice_id><br></br>queueservice_id:<queueservice_id><br></br>tableservice_id:<tableservice_id><br></br>datalakestorage_id:<datalakestorage_id><br></br>#active agents<br></br>account_agent:1<br></br>blobservice_agent:1<br></br>fileservice_agent:1<br></br>queueservice_agent:1<br></br>tableservice_agent:1<br></br>datalakestorage_agent:1
```

</div>**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 cuenta

\- ID de recurso de blobs service

\- ID de recurso de file service

\- ID de recurso de tables service

\- ID de recurso de queues service

\- ID de recurso de datalakestorage

**3. Agentes activos**

Podremos decidir que agentes activar o desactivar poniendo un 1 o un 0 en la línea de cada servicio.

**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 todos los servicios.**

**Id de recurso de la cuenta de almacenamiento.**

Dentro de la cuenta de almacenamiento, en la vista principal seleccionaremos en vista json.

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

Dentro encontraremos la id de recurso.

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

Para encontrar la ID de los otros recursos de los que saca datos el plugin, iremos a puntos de conexión.

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

Dentro encontraremos todas las ID de recursos necesarias.

[![image-1651844159743.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/scaled-1680-/image-1651844159743.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-05/image-1651844159743.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 monitor". (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

Como plugin de agente

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

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

Como plugin de servidor

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

[![image-1650280493463.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/image-1650280493463.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/image-1650280493463.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".

**[![register_plugin.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/register-plugin.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/register-plugin.png)**

Daremos a seleccionar archivo.

**[![register_plugin2.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/register-plugin2.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/register-plugin2.png)**

Seleccionaremos el fichero pspz2 que contiene el plugin

**[![register1_azure.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/register1-azure.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/register1-azure.png)**

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

**[![register2_azure.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/register2-azure.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/register2-azure.png)**

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

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

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

[![register3_azure.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/register3-azure.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/register3-azure.png)

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

[![register4_azure.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/register4-azure.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/register4-azure.png)

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

[![register5_azure.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/scaled-1680-/register5-azure.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-04/register5-azure.png)

**Instalación manual**

Iremos a servidores &gt; plugins:

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

Pinchamos en añadir:

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

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

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

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

```
/path_pandora_azure
```

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

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.

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

  
Una vez hecho esto, daremos a "crear".

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

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

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:

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

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

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

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

**Agentes**

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

**Agente Storage account**

<table border="1" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">UsedCapacity</td></tr><tr><td style="width: 100%;">Ingress</td></tr><tr><td style="width: 100%;">Egress</td></tr><tr><td style="width: 100%;">Transactions</td></tr><tr><td style="width: 100%;">Availity</td></tr><tr><td style="width: 100%;">SucessE2ELatency</td></tr><tr><td style="width: 100%;">SucessServerLatency</td></tr></tbody></table>

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

**Agente blobs**

<table border="1" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-" style="border-collapse: collapse; width: 100%; height: 319px;"><tbody><tr style="height: 29px;"><td style="width: 100%; height: 29px;">BlobCapacity</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">BlobCount</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">ContainerCount</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Availity</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Indexcapacity</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Ingress</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Egress</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Transactions</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">SuccessE2ELatency</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">SucessServerLatency</td></tr></tbody></table>

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

**Agente files**

<table border="1" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0--0" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">FIleCapacity</td></tr><tr><td style="width: 100%;">FileCount</td></tr><tr><td style="width: 100%;">Availity</td></tr><tr><td style="width: 100%;">FileShareCapacityQuota</td></tr><tr><td style="width: 100%;">FileShareCount</td></tr><tr><td style="width: 100%;">FileShareSnapshotCount</td></tr><tr><td style="width: 100%;">FileShareSnapshotSize</td></tr><tr><td style="width: 100%;">Ingress</td></tr><tr><td style="width: 100%;">Egress</td></tr><tr><td style="width: 100%;">SucessServerLatency</td></tr><tr><td style="width: 100%;">SuccessE2ELatency</td></tr><tr><td style="width: 100%;">Transactions</td></tr></tbody></table>

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

**Agente tables**

<table border="1" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">TableCapacity</td></tr><tr><td style="width: 100%;">TableCount</td></tr><tr><td style="width: 100%;">TableentityCount</td></tr><tr><td style="width: 100%;">Transaction</td></tr><tr><td style="width: 100%;">Availity</td></tr><tr><td style="width: 100%;">Ingress</td></tr><tr><td style="width: 100%;">Egress</td></tr><tr><td style="width: 100%;">SucessServerLatency</td></tr><tr><td style="width: 100%;">SucessE2ELatency</td></tr></tbody></table>

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

**Agente datalake storage**

<table border="1" id="bkmrk-blobcapacity-blobcou" style="border-collapse: collapse; width: 100%; height: 319px;"><tbody><tr style="height: 29px;"><td style="width: 100%; height: 29px;">BlobCapacity</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">BlobCount</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">ContainerCount</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Availity</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Indexcapacity</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Ingress</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Egress</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">Transactions</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">SuccessE2ELatency</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">SucessServerLatency</td></tr></tbody></table>

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

**Agente queue**

<table border="1" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-0" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">QueueCount</td></tr><tr><td style="width: 100%;">QueueCapacity</td></tr><tr><td style="width: 100%;">Availity</td></tr><tr><td style="width: 100%;">QueueMessageCount</td></tr><tr><td style="width: 100%;">Transaction</td></tr><tr><td style="width: 100%;">Ingress</td></tr><tr><td style="width: 100%;">Egress</td></tr><tr><td style="width: 100%;">SuccessE2ELatency</td></tr><tr><td style="width: 100%;">SuccessServerLatency</td></tr></tbody></table>

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