Pandora Azure Storage

Con este plugin se puede monitorizar una cuenta de almacenamiento y sacar datos de esta, de la blob storage, queue storage y file 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.

Tipo: Plug-in de servidor

Matriz de compatibilidad

Sistemas donde se ha probado

CentOS 7, Fedora, rocky linux

Sistemas donde debería funcionar

Cualquier sistema linux 

 

Pre requisitos

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.

#credentials
tenant_id:<tenant_id>
client_id:<client_id>
secret:<secret>
#id resources
account_id:<account_id>
blobservice_id:<blobservice_id>
fileservice_id:<fileservice_id>
queueservice_id:<queueservice_id>
tableservice_id:<tableservice_id>
datalakestorage_id:<datalakestorage_id>
#active agents
account_agent:1
blobservice_agent:1
fileservice_agent:1
queueservice_agent:1
tableservice_agent:1
datalakestorage_agent:1

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

2. Entraremos dentro de la aplicación.

menu2.png

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

menu3.png

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

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

 

 

 

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

Dentro  encontraremos la id de recurso.

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

Dentro encontraremos todas las ID de recursos necesarias.

image-1651844159743.png

Parámetros

Parámetro Descripción
--tentacle_port Puerto de tentacle.Por defecto 41121(opcional)
--tentacle_address Ip del servidor tentacle al que mandar los datos(opcional)
--agent_name Para ponerle un nombre al agente que contendrá los módulos , por defecto : "Azure monitor". (opcional)
--prefix_module Para ponerle un prefijo a los módulos por si se quieren diferencias de otras ejecuciones.(opcional)
--conf Path del archivo conf con las querys (obligatorio)
-g,--group Grupo de destino de Pandora FMS (opcional)
--data_dir Directorio de datos de Pandora FMS. Por defecto es /var/spool/pandora/data_in/ (opcional)
--as_agent_plugin 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)

 

 

 

 

 

Ejecución manual

Como plugin de agente

./pandora_azure -c <path_conf>

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

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

Daremos a seleccionar archivo.

register_plugin2.png

Seleccionaremos el fichero pspz2 que contiene el plugin

register1_azure.png

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

register2_azure.png

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

serversingles.png

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

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

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

register5_azure.png

 

Instalación manual

Iremos a servidores > plugins:

image-1629974405286.png

Pinchamos en añadir:

image-1629974430627.png

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

image-1650288788847.png

 

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

/path_pandora_azure

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


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

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

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

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

Agente Storage account

UsedCapacity
Ingress
Egress
Transactions
Availity
SucessE2ELatency
SucessServerLatency

image-1651842351170.png

Agente blobs

BlobCapacity
BlobCount
ContainerCount
Availity
Indexcapacity
Ingress
Egress
Transactions
SuccessE2ELatency
SucessServerLatency

image-1651842379046.png

Agente files

FIleCapacity
FileCount
Availity
FileShareCapacityQuota
FileShareCount
FileShareSnapshotCount
FileShareSnapshotSize
Ingress
Egress
SucessServerLatency
SuccessE2ELatency
Transactions

image-1651842409396.png

Agente tables

TableCapacity
TableCount
TableentityCount
Transaction
Availity
Ingress
Egress
SucessServerLatency
SucessE2ELatency

image-1651842450258.png

Agente datalake storage

a

BlobCapacity
BlobCount
ContainerCount
Availity
Indexcapacity
Ingress
Egress
Transactions
SuccessE2ELatency
SucessServerLatency

image-1651842490437.png

Agente queue

QueueCount
QueueCapacity
Availity
QueueMessageCount
Transaction
Ingress
Egress
SuccessE2ELatency
SuccessServerLatency

image-1652102415344.png