For many companies, Microsoft Teams has become an essential tool for facilitating and improving employee collaboration. It is imperative, therefore, that IT teams monitor the status of this application across the organization in terms of performance, stability, adoption, and network connectivity.
Application instability or network connectivity issues with MS Teams will result in employee frustration and a loss in collaboration and productivity. As a result, any issues with this application need to be addressed quickly.
Performance or stability issues with the Microsoft Teams client could lead to employee dissatisfaction and a loss of productivity. Serious issues, such as application crashes during a call, could lead to losing faith in MS Teams as an effective collaboration tool.
Network connectivity issues, if sporadic will result in employee frustration. Prolonged outages, either regionally or globally, will have a much more severe effect on the productivity of those employees affected.
For the service owner, a summary dashboard showing key KPIs for performance, stability, adoption, and network connectivity provides clear information on the status of the MS Teams application within an organization.
Support teams can use the dashboard in more detail, with dedicated dashboard tabs for the key measures. Chart breakdowns and dashboard filters allow issues to be narrowed down for troubleshooting.
Network connectivity issues, such as high response time or failed connections, are shown visually by region. Using the dashboard filters, a high incidence could be narrowed down to a site-specific network fault, dramatically simplifying the generation of a ticket to resolve this.
The pack comprises a dashboard with five tabs six Remote actions, and 4 campaigns as a dependency.
When the pack is first installed, execution schedules for the following Remote actions need to be configured:
Get Teams Info
Get Microsoft Teams Client Status
The configuration procedures are outlined in the Remote actions configuration section.
This dashboard utilizes tabs to separate content. A summary tab provides a quick overview of the status of MS Teams across the organization, followed by dedicated tabs for Compliance, Stability, Performance, and Connectivity.
Dashboard filters common to each tab allow the selection of specific platforms and device types. Three levels of localization are provided: entity, State, and City, and these are based on and restricted by the level of Geo-IP localization that has been configured.
In addition, the location type filter enables users to focus on insight from remote vs. office employees – connectivity issues can be caused by the different network configurations between user locations.
For service owners and support teams, the Summary tab is the place to get a quick overview of the status of MS Teams across the organization. Key KPIs are shown for the main components of the pack:
Compliance – Ideally, MS Teams should be installed and up-to-date on all user devices. This section highlights devices that do not meet that standard
Stability – MS Teams crashes and freezes negatively affect user experience. This section highlights devices on which MS Teams clients are crashing or freezing
Performance – MS Teams can consume a lot of RAM if memory capacity allows it. Too much consumption can degrade device performance, so metrics to watch devices consuming 3GB average memory are provided as that is considered excessive.
Note: Consumption varies depending on memory capacity; feel free to adjust this 3GB memory filter as desired.
Connectivity – Teams, like any application, can experience networking issues. These can severely degrade user experience if not resolved. This section provides insights into the number of devices with failed network connections and the percentage of such network failures.
This tab provides key insights into the compliance state of Microsoft Teams clients across the organization. If required, MS Teams applications should be installed on all devices. We’ve provided KPIs to track devices without Teams installed on devices. Additionally, we provide KPIs to highlight devices with outdated versions of teams. This information is provided by the ‘Get Microsoft MS Teams Client Status’ Remote actions.
This tab provides key insights into the stability of MS Teams clients across the organization. KPIs for crashes and freezes are shown, together with a timeline for MS Teams crashes and freezes. Bar charts for crashes by version and entity allow the operator to zero in on where issues may be occurring.
Finally, a crash summary for the MS Teams updater application is provided. If the MS Teams updater application crashes, it likely means MS Teams clients are not being updated correctly.
This section allows the operator to monitor the performance of their MS Teams clients. The average memory usage timeline will show any significant performance changes in MS Teams clients. This can be investigated using the dashboard time picker and the filters. Changes in MS Teams CPU usage can also be checked over time.
Bar charts showing average memory usage and CPU usage by MS Teams version allow the operator to identify versions of the binary that are particularly resource-hungry. This information can be used to inform support teams to assist in upgrading the devices affected, improve employee experience, and avoid an influx of support tickets.
To troubleshoot network connectivity issues in MS Teams, two measures are employed within this tab: failed connections and connection establishment time.
The term failed connections refers to an amalgamation of three metrics: no host connections, no service connections, and rejected connections. KPIs show the number of devices with failed connections and the ratio of failed connections. Breakdowns by entity and version allow you to pinpoint areas of concern.
Connection establishment time is effectively “network response time.” The average is shown as a KPI and similar breakdowns for entity and binary versions allow for effective troubleshooting of regional/departmental issues or errant versions.
The last sections show outputs from the Remote actions “Get Teams Info.” This RA, for Windows devices only, provides additional information on network connection issues that devices running MS Teams may be experiencing. Devices experiencing Authentication Errors or Network Access Denied errors when communicating with MS Teams are identified. KPIs showing the number of devices affected, along with a breakdown by entity, are shown for both errors.
Finally, the overall network traffic is displayed for additional Teams' network traffic insights.
Remote actions configuration
Get Teams Info (Windows only)
This Remote action shows the MS Teams login and network errors generated in the last 24 hours.
Network Access Denied Errors
We recommend configuring this Remote action to execute daily on all active Windows client devices.
Get Microsoft Teams Client Status (Windows and macOS)
This Remote action returns the MS Teams version and months since the last update. It also determines if MS Teams GPU acceleration is enabled. GPU acceleration can negatively affect performance by increasing MS Teams memory and CPU usage.
Remote action schedules allow you to define when the Remote actions execute and which devices are targeted. This allows the operator to target different groups of devices.
As shown in the gif below, a schedule targeting a specific platform can be created. In this case, we use an NQL query to filter for Windows-based client devices.
Here is a snippet of the NQL query used in the gif above. The query simply returns a list of Windows-based devices. Please feel free to edit the query as desired:
| where operating_system.platform == Windows
and operating_system.name !in ["*server*", "*windows 11*"]
If you need help with NQL queries, please look at the NQL tutorial.
The four campaigns included in this pack are listed below:
Close Microsoft Teams (short maintenance)- Invoke
Close Microsoft Teams (short maintenance)- Completed
Reinstall Microsoft Teams - Invoke
Reinstall Microsoft Teams - Completed
Remote actions launch these campaigns and prompt the user for permission to execute the associated Remote action on their device. Additionally, once the Remote action successfully executes, a follow-up campaign to notify the user that execution has been completed is launched.