In Hosted Messaging and Collaboration version 4.5, four data usage collection services will be provided as individual MSI. They are Exchange data usage collection service, Windows SharePoint Services data usage collection service, Active Directory data usage collection service and System Center Operations Manager data usage collection service. These services will be run at every selected interval to collect the usage status of each server, combined with the tenant data from PWDB. The multi-tenant usage reports will be generated. The interval defaults to 24 hours, and Hosting Service Providers can configure it through Task Scheduler in Administrative Tools.

Hosted Exchange Data Usage Collection Service

The Exchange data usage collection service is a Powershell collection process that runs as a scheduled task everyday based on the configured time. It can be run on one server or multiple servers and can collect the information from multiple servers by specifying which ones to collect from. The data is independent of Exchange management pack and is to collect the usage data of the monitored Exchange servers including mailbox usage, logon, public folder, and so on.

The following list is the logical flow for the process:

  1. Connect to Exchange server. It is designed upon Windows Powershell commandlet. On success go to step 2, else generate an event in the windows event log.
  2. Connect to SQL server. On success go to step 3, else generate an event in the windows event log.
  3. Read data from the Exchange server using the “System.Management” namespace or classes as shown in the below table.
  4. Write data in to the PWDB database server using the below stored procedure specified in the table. On success or failure windows event log is created.

Table: Stored Procedure

ClassName Stored procedure Table name

Managementobject
Managementobjectsearcher
Managementobjectcollection

Updatelogontime
Updateemailboxsize
UpdatePublicFolder

Mboxlogondata
Mboxdata
mboxsizedata
PublicFolder

Windows SharePoint Data Usage Collection Service

The Windows SharePoint Services data usage collection service will run on each SharePoint Front-End server in the hosted environment. The collection service uses Windows Management Instrumentation (WMI) and Microsoft SharePoint namespace to collect usage data for each Windows SharePoint Services server and inserts it into PWDB.

The data is independent from SharePoint management pack and is to collect the usage data of the monitored SharePoint Front-End servers including site collection usage, folder, Web access status, and more.

The following list is logical flow of the process.

  1. Connect to Share point server. On success go to step 2, else generate an event in the windows event log.
  2. Connect to SQL server. On success go to step 3, else generate an event in the windows event log.
  3. Read data from the Windows SharePoint Services using the “Microsoft.sharepoint” and “Microsoft.sharepoint.administration” namespace or classes as shown in the following table.
  4. Write data in to the PWDB database server using the stored procedure specified in the following table. On success or failure Windows event log is created.

Table: Stored Procedures

ClassName PWDB Storedproc PWDB Table

Spglobaladmin,spglobalconfig,spusagesettings

SPWssGlobal

Wssglobal

Spwebserver

SPwsswebserver

Wsswebserver

Spvirtualserver

SPwssVirtualserver

Wssvirtualserver

Spcontentdatabase

Spwsscontentdatabase

WssContentdatabase

Spsite,spquota

Spwsssite

WssSite

Spweb

Spwssweb

WssWeb

Spfolder

Spwssfolder

wssFolder

SpFile

Spwssfile

WssFile

SPUser

spwssweballuser

WssWebAllUser

SpUser

spwsswebuser

WssWebuser

Active Directory Data Usage Collection Service

Tenant information will be retrieved from Active Directory using the Hosted Messaging and Collaboration Active Directory data usage collection service. This collection service is designed to periodically (every 5 minutes by default) collect changes containing multi-tenancy information from Active Directory including:

  • Customer information (organization, group, user and their relationship)
  • Service resource information (which service resource instance is consumed by which customer) including Microsoft Exchange and Windows SharePoint Service

The collected data will be stored into reporting database.

Health data will also be collected periodically by an application using System Center Operations Manager SDK and store them into reporting database. See the following section for more information.

System Center Operations Manager Data Usage Collection Service

System Center Operations Manager data usage collection service is a module of Hosted and Messaging Collaboration health service. It will pull all hosted services status from Operations Manager root management server through System Center Operations Manager SDK.

System Center Operations Manager data usage collection service retrieves data from System Center Operations Manager. The service will refresh every 30 seconds. When error occurs, the waiting time is 30 minutes if the service has not been restarted.