Deploy the Statistics Manager for Skype for Business Server

Abstract: If you are searching for a cost free tool to get some real time statistics & KPIs from your Skype for Business (SfB) environment, then this howto helps you to deploy the SfB Statistics Manager (former known as LyncDash).

The Statistics Manager for Skype for Business Server is a powerful and cost free tool that allows you to view Skype for Business Server health and performance data in real time. You can poll performance data for the complete Skype for Business Server every few seconds, and view the results instantly on the Statistics Manager Website. You can use it to identify ongoing performance issues, view the results of a planned change to your environment, track resolution of outages, and much more. Out of the box, Statistics Manager is configured with Key Health Indicator (KHI) thresholds, and can be customized to suit your deployment’s unique needs.

The installation is very easy and Microsoft did a great job to document how to install the "Statistics Manager" here. But as we install the SfB Statistics Manager on top of an already existing server for the Skype for Business Call Quality Dashboard the setup is a little bit different which is outlines below.

Preparation:

- As we will install the SfB Statistics Manager in a small SfB environment, we will install it on the same server, which host already our Skype for Business Call Quality Dashboard (Windows 2012 R2 64 bit OS). Therefore we will refer this server as CQDPortal server.

1.) On the CQDPortal server install the Redis in-memory caching system (e.g. version 3.0.504). Use the default options (e.g. Port 6379) during the installation.

2.) Create an SSL certificate for the service with your internal Microsoft certificate authority and store it on that server. You need a normal website certificate here with the server hostname.

3.) Install the "Statistics Manager Listener" on the CQDPortal server.

3a.) On the CQDPortal server run the StatsManPerfAgentListener.msi to install the listener service.

3b.) During the installation you need to specify an service password. This is the password the remote Agents will use, to authenticate to the Listener service. You can use this website here to generate a 32 char password.

3c.) In the next point you need to specify an port. This is the HTTPS port number that the Listener will use to communicate with the Agents. During installation, this port will be allowed through the local firewall OS, a ACL will be created, and an SSL cert will be bound to this port. In this howto we accept the default port number 8443.

3d.) In the certificate thumbprint select the certificate you created already (Network Service must have read access to the private key). This is the certificate thumbprint the Listener will use to encrypt the HTTPS protocol. Make a node from the thumbprint you need that later when you install the agent.

3e.) For the Install Dir (This is the directory on which the binaries will be installed) we will use the default entry. .

3f.) For the AppData Dir we will use the default entry. This is the directory where the Logs folder and other data will be stored (It will not be deleted on uninstall).

3g.) After that finish the installation from the StatsManPerfAgentListener.

3h.) Open now the website https://localhost:8443/healthcheck/ to check if the listener is up and running, it will output some statistic values which shows you that this is up and working.

4.) Install the Statistics Manager Website

4a.) On the CQDPortal server run the StatsManWebSite.msi

4b.) The next step is to specify the port which the Statistics Manager website is using. We will use the default port 8080 here. You can change it later by using IIS manager binding. You can also specifiy an SSL certificate here in the IIS manager if needed. Additional during the installation, this port will be allowed through the local firewall.

4c.) As an Install Dir (This is the directory where the binaries will be installed) use the default value.

4d.) As the AppData Dir use the default value. This is the directory where the Logs folder and other data will be stored (It will not be deleted on uninstall).

4e.) Now edit the StatsManWebSiteUsers group on that server. Add the users who should be able to open the website (e.g. the SfB admins)

4f.) As the Skype for Business Call Quality Dashboard create an authorization rule on the root, this is inherited to the Statistics Manager Website. So in order to use the Statistics Manager Website on the Skype for Business Call Quality Dashboard you need to adjust that or add the same users to both needed group (StatsManWebSiteUsers & CQDPortalUsers).

5a.) Install the agent on each Skype for Business Server that you wish to monitor (e.g. Frontend, Mediation, Persistent Chat, ...) by running the StatsManPerfAgent.msi

5b.) As service password use the password you specified when you installed the "Statistics Manager Listener". This is the password the remote agent will use to authenticate to the listener service.

5c.) As a service URI enter the hostname and port from the "Statistics Manager Listener" when you installed it. It should be in the firmat https://name:port (e.g. https://sfbcdq01.int.contoso.com:8443/).

5d.) As the service thumbprint use the on from the SSL certificate you used when you installed the "Statistics Manager Listener". The agent will use this thumbprint to authenticate to the Listener. (It will not do full certificate validation because it is possible to use self-signed certificates.)

5e.) As Install Dir (This is the directory on which the binaries will be installed) use the default folder.

5f.) As AppData Dir use the default folder. This is the directory where the Logs folder and the encrypted password.txt file will be stored (It will not be deleted on uninstall).

6.) Import the SfB topology

6a.) After all above is is installed and running, you need to import the SfB topology so that SfB Statistics Manager knows the site, pool, and role of each server. To do that open a SfB powershell (run as admin).

6b.) Export the SfB section you wish to monitor via:

Get-CsPool -Site DE-FFM | Export-Clixml -Path C:\temp\sfbpoolinfo.xml

You can also export the whole topology if that is useful for your setup and if you do not wish to separate the monitoring by sites this can be done via:

Get-CsPool | Export-Clixml -Path C:\temp\sfbpoolinfo.xml

6c.) Copy the file to the CQDPortal server and pace it in c:\temp

6d.) On the CQDPortal server open a powershell and enter:

cd C:\Program Files\Skype for Business Server StatsMan Listener

then import the pool info file via:

.\Update-StatsManServerInfo.ps1 -CsPoolFile C:\temp\sfbpoolinfo.xml

7.) Checking

7a.) Open the website https://localhost:8443/healthcheck/ and check the value KnownServerCount. If the KnownServersCount is 1 or higher, then the connection to Redis is established.

7b.) After waiting a few minutes you should see now that the ValuesWritten counter are incrementing on that website.

8.) Finalization

As you need to enter your password to login into the Statistics Manager the best way would be to change the default port to 8081, then add a new port as 8080 with https, choose a correct certificate and later one delete the port 8081.