Microsoft Office 365 Teams

Microsoft Office 365 Teams

This template shows information about Office 365 Teams and includes the following Component:

  • Number of Calls
  • Number of Meetings
  • Number of Chat Messages
  • Number of daily users by device type
    1. Web
    2. Windows Phone + Windows
    3. Android Phone, 
    4. iOS
    5. Mac

Prerequisites:

  • The details collected as part of above steps should be passed as Arguments to Monitors in below format/precedence

client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Credentials:

  • The user should have SAM Administrator permissions
  • Pass Client ID and Password as Arguments to Monitors (Argument details mentioned in Pre-requisite)

MONITORED COMPONENTS

  • Number of Calls

Get the number of Microsoft Teams activities.

The activity types value given is calls.

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

  • Number of Meetings

Get the number of Microsoft Teams activities.

The activity types value given is Meetings.

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

  • Number of Chat Messages

Get the number of Microsoft Teams activities.

The activity types value given is Chat Message (Private + team)

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

  • Number of Daily Web User

Get the number of Microsoft Teams daily unique Web users

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

  • Number of Daily Windows User 

Get the number of Microsoft Teams daily unique Windows users (Windows Device+ Windows Phone)

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

  • Number of Daily Android Phone User 

Get the number of Microsoft Teams daily unique Android Phone users

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

  • Number of Daily iOS User

Get the number of Microsoft Teams daily unique iOS users

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

  • Number of Daily Mac User

Get the number of Microsoft Teams daily unique Mac users

Argument: Client ID, Tenant ID, Client Password

Format: client_id=<Value>, TenantID=<Value>, client_secret=<Value>

Statistic Unit: Number

Troubleshooting steps

Detail troubleshooting steps (common for template)

Use UPN format (username@domain) and not domain\username format to enter credentials. Also, a service account for Exchange Web Services is recommended to avoid authentication issues when passwords are updated.

Portions of this document were originally created by and are excerpted from the following sources:

https://docs.microsoft.com/en-us/graph/overview?toc=./toc.json&view=graph-rest-1.0

https://docs.microsoft.com/en-us/graph/api/resources/report?view=graph-rest-1.0

Last updated: <Date updated>



Anonymous

Top Comments

  • So how do I apply this template to something to see if it works?

  • I have this working but there needed to be a few script modifications to get it to work properly for a few of the components. First, the write-host for the token needs to be commented out. Then on a couple of the components; Number of Chat Messages and Windows Phone + Windows, I think, there needs to be a data type change from string to integer so you can sum the parts and some syntax changes for text presentation in the message at least on the powershell version I am using (win 2016). I did it this way; 

    for chat messages;

    foreach ($res in $Response) {
    $tc = $res.'Team Chat Messages'
    $pc = $res.'Private Chat Messages'
    $tc = $tc -as [int]
    $pc = $pc -as [int]
    $statistic = $tc + $pc
    $message = "Team Chat Messages = $($res.'Team Chat Messages'), Private Chat Messages = $($res.'Private Chat Messages')"
    break;
    }

    and for windows users;

    foreach ($res in $Response) {
    $wp = $res.'Windows Phone'
    $w = $res.'Windows'
    $wp = $wp -as [int]
    $w = $w -as [int]
    $statistic = $wp + $w
    break;
    }

    if($statistic -eq 0) {
    $message = "Number of Teams daily users on Windows : $statistic"
    }
    else {
    $message = "Number of Teams daily users on Windows : $statistic [Windows Phone : $($res.'Windows Phone'), Other Windows Device : $($res.'Windows')]"
    }

    Guess I could have used the reformatted variables in the messages but it is working. With the appropriate graph api access setup and arguments as described it works well now with accurate readable outputs as intended.

    Thanks for the great head start on getting this monitoring working. Now to figure out what the admins really want and need to see.

  •  That's a wonderful point, and I think our teams would be interested in watching you do the set up to see how we can make it even easier for you. Your feedback is fantastic to hear. In the interests of processing your feedback to funnel to better improvements in this area, I'd like to introduce you to   who will be taking over as PM for SAM from me. He's working with our team to scope out the next version of this work, so I hope that a user session with you both is a possibility for the near future! 

  • I am thrilled to see SolarWinds taking on more Azure monitoring these days. I think the challenge can be understanding how to get things set up and working. I will be the first to admin that my Azure admin skill set is terribly limited. I think there would be a huge value in some video training that maybe walks us through setting up these monitors. I have no doubt that if I were able to watch someone set it up once I could replicate it with ease. I could be the exception but I really think there is value to be had in basic video training for these more complex setups. Any chance we could get something like that? Regardless, great progress is being made with SAM and I love the direction it's going. 

     

  • Like , I can get all these metrics from Graph API...but I don't know how to use/exploit them.

    It is not clear if we get some daily stats or weekly stats + these stats are obviously not real-time data (I noticed it seems like there is a 48h delay)...but it is not explained in this article.

    So we have some data from 2 days ago...how is it even possible to graph it in SolarWinds to see the trends...==> we don't have the rigth timestamp associated to these stats. It is like displaying false data.

    It is great to have this TEAMS template, but it remains useless if we can't have more explanations. Even SolarWinds support was totally unable to help me on that point...they finallly turned back to Microsoft and said : you get what graph api gives to you, whatever it is.

    I you could provide some details about these questions it would be great (the support couldn't) :

    -- Is it daily or weekly stats?

    -- Can you confirm the 48h delay for these datas

    -- How can we build a graph with these datas in SolarWinds with the good timestamp? (i.e. 48h delay)

    -- Is it possible to get real-time data from TEAMS/O365  into SolarWinds?