M365 Services Supplemental Monitoring Management Pack v3 (

2023.07.31: Update – Due to recent changes in Azure/Graph the Services management pack now requires the user account to be assigned the “Message Center Reader” role. We plan to update the MP guide in the near future.
(Ref: https://monitoringguys.com/2023/07/28/graph-api-healthoverviews-403-forbidden/ ).

We recently updated v3 of the M365 Services Supplemental MP to provide some performance improvements, feature enhancements and address a few general housekeeping items, we are excited to announce it is now available for download! We strive to deliver a streamlined and easy to implement monitoring solution for your organizational M365 monitoring needs! We have added and updated our real-time service test Console tasks to ease the pain of troubleshooting and verifying service disruptions. We have integrated the Microsoft Teams Network Assessement Tool in this release with performance metrics for Network Jitter, Packet Loss, and Round Trip Latency. Some of the v3 updates are listed below and are also explained in the video tutorial/walk-through. Make sure to follow us on Twitter @MonitoringGuys!

Detailed walkthrough of App registration, M365 user accounts, SPO/Teams requirements, and MP configurations.

v3.0.1.5 Updates:

  • Improved Get-AccessToken and Get-StandardToken logging. Fixed Services workflows auth token request.
  • M365ST.TeamsMon.ps1 – Moved the $RequestDelayMS before the stopwatch timer in Verification section.
  • M365ST.TeamsCalendarMon.ps1 **Added**

v3.0.1.0 Updates:

  • Improved cleanup routine; added SentItems, added delay between delete operations. Set interval to 86400. Increased MaxItemsToDelete default value.
  • Added OnDemand discovery for all m365 class types to the Watcher node “modify configuration” task.
  • Added throttling logic to address recent Graph throttling issues:
    Exception: System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
  • Hardcoded synctime vars for all workflows to help evenly disperse requests to Graph to avoid throttling.
  • Changed all configuration tasks IntervalSeconds from $TargetHost property to LEAVE_BLANK_TO_INHERIT_DEFAULT_VALUE
  • Corrected numerous monitor Category tags. Many performance monitors were set as default AvailabilityHealth; updated to PerformanceHealth.
  • Added additional rules and monitors for Licenses
    Added rules:
    M365 License – Licenses Consumed (Units) Performance Collection Rule
    M365 License – Licenses Available (%) Performance Collection Rule
    Added monitors:
    M365 License – Licenses Consumed (Units) Monitor
    M365 License – Licenses Available (Units) Monitor
  • Library, Services, License: Password/ClientSecret Decode and Get-StandardToken functions now log critical failures and exit immediately.
    Updated: M365 – Script Resource Library Failure Repeated Event Detection Monitor
    TimerResetSeconds, old:3600, new:$Target/Property…/IntervalSeconds$
    Updated: M365 – Script Failure Repeated Event Detection Monitor
    TimerResetSeconds, old:3600, new:$Target/Property…/IntervalSeconds$
    Added: M365 – AuthToken Retrieval Failure Repeated Event Detection Monitor
  • SharePoint, OneDrive: Changed AlertOn from Error to Warning for performance unit monitors.
  • Teams: added TNAT discovery GUID to the “Modify Teams Config” agent task OnDemandDiscovery.
  • SharePoint: Fixed duplicate name issue. Graph has been known to return duplicate identical site entries.
  • Updated a few knowledge articles. Improved a couple class DisplayNames.

The Monitoring Guys

2 Replies to “M365 Services Supplemental Monitoring Management Pack v3 (”

  1. Ich bekomme bei den Services immer folgenden Fehler


    PSMessageDetails :
    Exception : System.Net.WebException: The remote server returned an
    error: (403) Forbidden.
    at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.
    GetResponse(WebRequest request)
    at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.
    TargetObject : System.Net.HttpWebRequest
    CategoryInfo : InvalidOperation:
    [Invoke-WebRequest], WebException
    FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Comm
    ErrorDetails :
    InvocationInfo : System.Management.Automation.InvocationInfo
    ScriptStackTrace : at Script_aeb0c173e57f4bf28920a49a758c72f8, :
    line 172

Leave a Reply

Your email address will not be published. Required fields are marked *