Office 365 discovery

Este documento describe la funcionalidad Office 365 de de PandoraFMS, compuesta por el plugin de discovery.


Introducción

Este plugin tiene como finalidad monitorizar el estado de los servicios y licencias de Microsoft 365, incluyendo incidencias activas, mensajes del sistema y detalles de suscripciones.

El plugin se conecta a la API de Microsoft Graph para obtener información sobre la salud de los servicios, mensajes de mantenimiento y datos de licenciamiento, generando módulos de monitorización compatibles con Pandora FMS.

Prerrequisitos

Aparte del secret, necesitaremos el tenant id y el client id para autenticar, estos se pueden obtener desde el menú general de la aplicación:

Captura desde 2025-10-13 16-39-34.png

Definir los permisos que necesita tu aplicación para acceder a las API de administración de Office 365

El último paso consiste en indicar con precisión qué permisos requerirá tu aplicación para poder utilizar las API de administración de Office 365. Para ello, debes añadir el acceso a dichas API y luego establecer los permisos necesarios.

1. En el portal de Azure, dirígete a Microsoft Entra ID > Registros de aplicaciones > Todas las aplicaciones.  
   Selecciona la aplicación correspondiente y, en el menú lateral izquierdo, haz clic en Permisos de API.  
   A continuación, pulsa en Agregar un permiso para abrir la ventana donde se configuran los permisos.

image.png

2. En la pestaña API de Microsoft, selecciona la opción API de administración de Office 365.

image.png

3. Se mostrará un panel lateral donde podrás elegir los tipos de permisos que tu aplicación necesita.  
   Una vez seleccionados, haz clic en Agregar permisos para confirmarlos.

image.png

Los permisos que necesita el plugin son los siguientes :

image.png

Finalmente, selecciona “Otorgar consentimiento de administrador para <nombre del inquilino>” para aprobar los permisos que has asignado a la aplicación.

image.png

Parámetros

Parámetros
--conf Ruta al archivo de configuración
Archivo de configuración (--conf)
agents_group_name= Grupo para los agentes creados
interval= Intervalo de creación del agente
transfer_mode= modo de transferencia (local o tentacle)
client_id= Cliente ID de la cuenta office
tenant_id= Tenant ID de la cuenta office 
secret= Secreto de la cuenta office
tentacle_ip= Direccion de tentacle
tentacle_port= Puerto de tentacle
logs = Activar con 1 para la creación de módulos de log
utf8= Activar con 1, para codificar el valor del módulo issues
no_data= Si se activa con 1, solo se crearan módulos de logs
prefix_licensing= Prefijo para el agente de licencias y sus modulos.
prefix = Prefijo para el agente general y sus módulos
agent_name= Nombre para el agente general
agent_name_licensing= Nombre para el agente de licencias
licensing= Activar con 1 para habilitar la creación de un agente para licencias y sus módulos

Ejemplo
agents_group_name = applications
interval = 300
transfer_mode = tentacle
secret = kxT8Q~wM87V2E~S3FAHF4FF4FovBMQzSAFA4Uqc.I
client_id = 4355g5g5fb-7cac-450a-8ba9-ef3edhadna3  
tenant_id = 540v7f7sv8s-345d-43ec-b511-d1cfdbdvbf43e4
tentacle_ip = 172.42.42.101
tentacle_port = 41121
logs = 1
utf8 = 1 
no_data = 1
prefix_licensing = REQ
prefix = REQ
agent_name = Office_status
agent_name_licensing = Office_licensing
licensing = 1


Ejecución manual

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

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

Por ejemplo:

./pandora_o365 --conf /usr/share/pandora_server/util/plugin/office365.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.

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://marketplace.pandorafms.com/

Una vez cargado, se podrán monitorizar cuentas de Office 365 creando tareas de Discovery desde la sección Management > Discovery > App

image.png

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

En la siguiente página se nos requerirán los siguientes :

image.png

Las tareas completadas con éxito tendrán un resumen de ejecución con la siguiente información:

image.png

Agentes y módulos generados por el plugin

El plugin creará un agente con el nombre que nosotros configuremos con el nombre que usemos con el parametro "agent_name", dispondrá de un módulo de status y otro de active issues por cada servicio. Por defecto : "Pandora_O365_" .

Por ejemplo :

O365_Bookings_active_issues
O365_Bookings_status
O365_cloudappsecurity_active_issues
O365_cloudappsecurity_status
O365_DynamicsAX_active_issues
O365_DynamicsAX_status
O365_DynamicsCRM_active_issues
O365_DynamicsCRM_status
O365_Exchange_active_issues
O365_Exchange_status
O365_Forms_active_issues
O365_Forms_status
O365_Intune_active_issues
O365_Intune_status
O365_kaizalamessagingservices_active_issues
O365_kaizalamessagingservices_status
O365_Lync_active_issues
O365_Lync_status
O365_MicrosoftFlowM365_active_issues
O365_MicrosoftFlowM365_status
O365_MicrosoftFlow_active_issues
O365_MicrosoftFlow_status
O365_microsoftteams_active_issues
O365_microsoftteams_status
O365_MobileDeviceManagement_active_issues
O365_MobileDeviceManagement_status
O365_O365Client_active_issues
O365_O365Client_status
O365_officeonline_active_issues
O365_officeonline_status
O365_OneDriveForBusiness_active_issues
O365_OneDriveForBusiness_status
O365_OrgLiveID_active_issues
O365_OrgLiveID_status
O365_OSDPPlatform_active_issues
O365_OSDPPlatform_status
O365_Planner_active_issues
O365_Planner_status
O365_PowerAppsM365_active_issues
O365_PowerAppsM365_status
O365_PowerApps_active_issues
O365_PowerApps_status
O365_ProjectForTheWeb_active_issues
O365_ProjectForTheWeb_status
O365_ProjectOnline_active_issues
O365_ProjectOnline_status
O365_RMS_active_issues
O365_RMS_status
O365_SharePoint_active_issues
O365_SharePoint_status
O365_StaffHub_active_issues
O365_StaffHub_status
O365_Stream_active_issues
O365_Stream_status
O365_SwayEnterprise_active_issues
O365_SwayEnterprise_status
O365_Viva_active_issues
O365_Viva_status
O365_yammer_active_issues
O365_yammer_status

El plugin creará un agente con el nombre que nosotros configuremos con el nombre que usemos con el parametro "agent_name_licensing". Por defecto : "Pandora_O365_licensing" . Tendra los siguientes módulos :

<skuPartNumber> 
<skuPartNumber> consumedUnits
<skuPartNumber> Units enabled
<skuPartNumber> Units lockedOut
<skuPartNumber> Units suspended
<skuPartNumber> Units warning
<skuPartNumber> Consumed Units %
<skuPartNumber> Units Available