Azure Backups

Este documento describe la funcionalidad Azure Microsoft Compute del discovery de PandoraFMS.

Introducción

Este plugin tiene como objetivo monitorizar el estado de las copias de seguridad en Microsoft Azure, permitiendo comprobar de forma continua si los recursos protegidos están realizando sus backups correctamente. Gracias a esta monitorización es posible detectar fallos en las copias de seguridad, conocer el estado de protección de los recursos y verificar cuándo se realizó el último backup, lo que ayuda a garantizar la disponibilidad de los datos y la capacidad de recuperación ante incidencias.

El plugin se conecta al entorno de Azure para obtener información de los servicios de backup configurados en la suscripción. Con estos datos genera diferentes métricas relacionadas con el estado de las copias de seguridad, como el tiempo transcurrido desde el último backup, el número de puntos de recuperación disponibles o el estado general de la protección.

Posteriormente, esta información se envía a Pandora FMS, donde se crean los agentes y módulos necesarios para visualizar y supervisar el estado de los backups desde la consola de monitorización. De esta forma, el cliente puede tener una visión clara y centralizada del estado de sus copias de seguridad en Azure y actuar rápidamente ante cualquier problema.

Matriz de compatibilidad

Sistemas donde se ha probado Rocky linux
Sistemas donde funciona Cualquier sistema linux


Prerrequisitos

El plugin es un binario que contiene las dependencias empaquetadas por lo que no es necesaria la instalación de ningún tipo de dependencia para su uso.

SUBSCRIPTION_ID 

Ve a tu subscripción, podras encontrar el subscription ID, en el menu de arriba.

image.png

TENANT_ID

Para obtener el ID de inquilino. Vaya al Portal Azure y busque «Entra Id». En la página Overview overview.se muestra el ID del Directorio (tenant). Copie este ID. Ese es su tenant_id

image.png

.

CLIENT_ID AND SECRET

Para el ID de cliente y el secreto, tendrá que crearlos como un registro de aplicación.

Para crear un nuevo registro de aplicación, deberá seguir los pasos que se indican a continuación:

https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application

Allí obtendrá el ID de la aplicación (ID de cliente) y creará también el secreto del cliente. A continuación, puede copiar los valores y utilizar.

Para hacer las solicitudes a través de la api, la cuenta utilizada para autenticar en la ejecución requiere de unos determinados permisos.

Asignación de permisos

Debe asignar un rol a la cuenta con la que vaya a operar la app, para ello acceda a Home y entre en Suscription:

image-1687444674025.png

Dentro de la suscripción, seleccione Access control (IAM):

image-1687444709078.png

Se agregará una nueva asignación de rol en la debe seleccionar Reader para la app creada:

La app creada se puede buscar en miembros (servicio principal)

image.png

Guarde los cambios pulsando Save .

A partir de ese momento podrá conectar con el servicio y hacer solicitudes a través de este plugin.

Parámetros

Parámetros

--conf Ruta al archivo de configuración
Archivo de configuración (--conf)
agents_group_name = < Nombre del grupo de destino para los agentes creados >
agent_name        = < Nombre del agente que contentendrá los módulos (solo si agent_per_mv no esta activado) >
interval          = < Intervalo de creación del agente >
agent_prefix      = < Prefijo para los agentes creados >
module_prefix     = < Prefijo para los módulos creados >

transfer_mode      = < Modo de transferencia, tentacle o local >
tentacle_ip        = < IP de la máquina destino para los agentes creados >
tentacle_port      = < Puerto de tentacle, por defecto : 41121 >
tentacle_opts      = < Opciones adicionales de tentacle client >

use_proxy         = < Marcar esta opcion para poder especificar una url de proxy >
proxy_url         = < Url proxy >
ssl_check         = < Marcar para habilitar el chequeo ssl >
agent_per_vm      = < Habilitar para crear un agente por maquina virtual >
debug_mode        = < Habilitar para activar el modo debug >

allow_regexp = < Patron de regexp. Las métricas que coincidan con el patron se monitorizaran >
deny_regexp = < Patron de regexp. Las métricas que coincidan con el patron se descartaran >
creds_b64 = < Credenciales en base64 del archivo JSON para autenticar >

Ejemplo

agents_group_name = azure   
agent_name        = Azure backups
interval          = 3600
threads           = 1
temporal          = 0
data_dir          = "/var/spool/pandora/data_in/"
agent_prefix      = 
module_prefix     = 

transfer_mode     = "tentacle"
tentacle_client   = "tentacle_client"
tentacle_ip       = "192.168.50.61"
tentacle_port     = 41121
tentacle_opts     = 

use_proxy         = 0
proxy_url         = 
ssl_check         = 0
agent_per_vm      = 0
debug_mode        = 1

allow_regexp      = 
deny_regexp       = 

creds_b64 = oiZJDNNJKCDJndkdKDNJDKDKNDhjdkdmdNHFJFKfFMFNFJFKk5IinDJFJKFKfmnfDHHDKDKDldjjDfmFJFNFFMNFNFMFNFmFNFFJJFmf==



Ejecucion manual

El formato de la ejecución del plugin es el siguiente:

./pandora_azure_backup --conf < ruta al fichero de configuración >

Por ejemplo:

./pandora_azure_backup --conf /usr/share/pandora_server/util/plugin/azure.conf

La ejecución devolverá una salida en formato JSON con información sobre la ejecución, y generará un fichero XML para cada agente monitorizado que enviará al servidor de Pandora FMS por el método de transferencia indicado en la configuración.

Por ejemplo:

{"summary": {"Total agents": 3}



Discovery

Este plugin puede integrarse con el Discovery de Pandora FMS.

Para ello se debe cargar el paquete ".disco" que puede descargar desde la librería de Pandora FMS:

https://pandorafms.com/library/

Una vez cargado, se podrán monitorizar entornos de Azure Microsoft Compute creando tareas de Discovery desde la sección Management > Discovery > Cloud.

Para cada tarea se solicitarán los siguientes datos mínimos:

Captura desde 2026-03-05 17-26-51.png

Finalmente se podrá ajustar la monitorización que se desee:

Captura desde 2026-03-05 17-35-09.png

Las tareas que se completen exitosamente dispondrán de un sumario de ejecución con la siguiente información:

Las tareas que no se completen exitosamente dispondrán de un sumario de ejecución registrando los errores producidos.

Agentes y módulos generados por el plugin

La ejecución del plugin, creara un unico agente o uno por cada item si esta habilitado el token agent_per_vm. Creara los siguientes módulos:

<item_name> Last backup Indica el tiempo transcurrido desde la última copia de seguridad realizada para ese recurso. Esta métrica permite detectar rápidamente si un backup lleva demasiado tiempo sin ejecutarse.
<item_name> Recovery points Muestra el número total de puntos de recuperación disponibles para el recurso. La descripción del módulo también indica cuántos backups se han completado correctamente y cuántos han fallado.
<item_name> Protection state Indica el estado de la protección del recurso dentro del sistema de backups de Azure. Permite saber si el recurso está correctamente protegido o si la protección está detenida, pausada o presenta algún error.
<item_name> Last backup status Estado del último backup realizado. Permite conocer si la última ejecución fue correcta o si presentó algún problema.
<item_name> Health status Estado general de salud del recurso dentro del sistema de backup, indicando si Azure detecta alguna acción recomendada o requerida.
<item_name> Protection status Indica si la protección del recurso se encuentra en estado saludable o si existe algún problema que pueda afectar a la correcta realización de las copias de seguridad.

Los módulos "Protection state", "Last backup status", "Health status", y "Protection status" crean un módulo de valor númerico, agenciado a un estado, siendo estas las equivalencias :

Protection State

Protected 1
IRPending 2
Invalid 3
BackupsSuspended 4
ProtectionPaused 5
ProtectionStopped 6
ProtectionError 7

Last backup status

Healthy 1
IRPending 2
Invalid 3
Unhealthy 4

Health status

Passed 1
ActionSuggested 2
ActionRequired 3
Invalid 4

Protection status

Healthy 1
Unhealthy 2


item name es el nombre del recurso que tiene configurada la copia de seguridad en Azure. Es decir, identifica al elemento protegido dentro del sistema de backups, como puede ser una máquina virtual, una base de datos o un recurso de almacenamiento.