This monitor determines if there are M365 licenses available and a connection can be made to retrieve licenses.
This monitor verifies that user specified is able to obtain a license. This monitor has two health states, healthy and critical. The health state is simply determined by whether a license is obtained.
An error state is caused by having issues with connecting to Microsoft 365 or fetching data. It can be caused by the following:
Issues with global connection to Microsoft 365.
Credentials for Microsoft 365 subscription are not correct.
Microsoft 365 subscription not allowed to get data from Microsoft 365.
Specified user is not licensed to use Microsoft 365.
Resolution depends on the specific error. Verify and/or fix the following:
Connectivity to Microsoft 365, including firewall and proxy settings.
Credentials for Microsoft 365 subscription may need to be changed or updated.
Update permissions for the Microsoft 365 subscription.
Update user to test for licensing with Microsoft 365.
Target | Microsoft.SystemCenter.M365.WatcherNodeApplication.Licensing | ||
Parent Monitor | Microsoft.SystemCenter.M365.Monitor.Availability.WatcherNode.Licensing | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.M365.Monitor.LicenseVerification.UnitMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.M365.Monitor.LicenseVerification" Accessibility="Public" Enabled="true" Target="Microsoft.SystemCenter.M365.WatcherNodeApplication.Licensing" ParentMonitorID="Microsoft.SystemCenter.M365.Monitor.Availability.WatcherNode.Licensing" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.M365.Monitor.LicenseVerification.UnitMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.M365.Monitor.LicenseVerification.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Alert Message']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Critical" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<AzureADEndpoint>$Target/Host/Property[Type="Microsoft.SystemCenter.M365.WatcherNodeApplication"]/AzureADEndpoint$</AzureADEndpoint>
<GraphEndpoint>$Target/Host/Property[Type="Microsoft.SystemCenter.M365.WatcherNodeApplication"]/GraphEndpoint$</GraphEndpoint>
<TenantId>$Target/Host/Property[Type="Microsoft.SystemCenter.M365.WatcherNodeApplication"]/TenantId$</TenantId>
<ApplicationClientId>$RunAs[Name="Microsoft.SystemCenter.M365.RunAsProfile.ApplicationClient"]/UserName$</ApplicationClientId>
<ApplicationClientCredentials>$RunAs[Name="Microsoft.SystemCenter.M365.RunAsProfile.ApplicationClient"]/Password$</ApplicationClientCredentials>
<DelegatedUserId>$RunAs[Name="Microsoft.SystemCenter.M365.RunAsProfile.DelegatedLicensingUser"]/UserName$</DelegatedUserId>
<DelegatedUserCredentials>$RunAs[Name="Microsoft.SystemCenter.M365.RunAsProfile.DelegatedLicensingUser"]/Password$</DelegatedUserCredentials>
<UserName>$Target/Host/Property[Type="Microsoft.SystemCenter.M365.WatcherNodeApplication"]/LicenseUser$</UserName>
<MatchCount>1</MatchCount>
</Configuration>
</UnitMonitor>