Office 365 discovery

This document describes the Office 365 functionality of PandoraFMS, composed by the discovery plugin.

Introduction

This plugin is intended to monitor the status of Microsoft 365 services and licenses, including active incidents, system messages and subscription details.

The plugin connects to the Microsoft Graph API to obtain information about the health of services, maintenance messages and licensing data, generating monitoring modules compatible with Pandora FMS.

Pre rrequisites

Parameters

Parameters
--conf Path to configuration file
Configuration file (--conf)
agents_group_name= Group for created agents
interval= Agent creation interval
transfer_mode= transfer mode (local or tentacle)
client_id= Client ID of office account
tenant_id= Tenant ID of office account 
secret= Secret of office account
tentacle_ip= Tentacle address
tentacle_port= Tentacle port
logs = Activate with 1 for log module creation
utf8= Activate with 1, to encode the value of the module issues
no_data= If set to 1, only log modules will be created
prefix_licensing= Prefix for the license agent and its modules.
prefix = Prefix for the general agent and its modules
agent_name= Name for the general agent
agent_name_licensing= Name for the licensing agent
licensing= Activate with 1 to enable the creation of an agent for licensing and its modules.

Example
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

Manual execution

The format of the plugin execution is as follows:

./pandora_o365 --conf < path to the configuration file >

Por ejemplo:

./pandora_o365 --conf /usr/share/pandora_server/util/plugin/office365.conf

The execution will return an output in JSON format with information about the execution, and will generate an XML file for each monitored agent that will be sent to the Pandora FMS server by the transfer method indicated in the configuration.

Discovery

This plugin can be integrated with Pandora FMS Discovery.

To do so, you must load the “.disco” package that you can download from the Pandora FMS library:

https://marketplace.pandorafms.com/

Once loaded, Office 365 accounts can be monitored by creating Discovery tasks from the Management > Discovery > App section.

image.png

The following minimum data will be requested for each task:

On the next page we will be asked for the following :

image.png

Successfully completed tasks will have an execution summary with the following information:

image.png

Agents and modules generated by the plugin

The plugin will create an agent with the name that we configure with the name that we use with the parameter “agent_name”, it will have a status module and another one of active issues for each service. By default: “Pandora_O365_” .

Example:

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

The plugin will create an agent with the name that we configure with the name that we use with the parameter “agent_name_licensing”. By default : “Pandora_O365_licensing” . It will have the following modules:

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