Wednesday, February 6, 2013

Deploying Lync Server 2013 Monitoring and Archiving

As many may know, Lync Server 2013 no longer requires separate servers for the Monitoring and Archiving role as they are now collocated directly on the front-end server.  This is definitely a welcome changed as it reduces the amount of servers required for a Lync deployment.  Not that the deployment process is overly complicated but the following serves to demonstrate the deployment process.

Before I begin, note that the official planning documentation Monitoring can be found here:

Components and Topologies for Monitoring
http://technet.microsoft.com/en-us/library/gg412952.aspx

image

Note that Microsoft recommends against collocated the monitoring database on the same SQL backend server of your front end server but for the demonstration purposes, we’ll be doing so:

image

The official planning documentation Archiving can be found here:

Components and Topologies for Archiving
http://technet.microsoft.com/en-us/library/jj204916.aspx

Associate Archiving and Monitoring SQL Store

Begin by selecting the front end server that you’ll be enabling archiving and monitoring on as shown in the following screenshot which does not currently have an Archiving or Monitoring SQL store associated:

image 

Proceed by right clicking on the front end pool, select properties and scroll down to the Archiving and Monitoring (CDR and QoE metrics) section:

image

Check the checkboxes for Archiving and Monitoring and if you haven’t created a SQL Server store for the databases, create one.  In this example, I’ve selected the same back end SQL instance I used for the front end pool:

image

Click on the OK button after configuring the options and you’ll notice the association in the properties display of the front end server:

image

Publish Topology to create Archiving and Monitoring SQL Databases

Proceed by publishing the topology:

image

image

Note that you have the option of specifically setting where to place the database files but for this example, I’ve left the settings as the default so the wizard will decide on the location:

image

image

Note the output of the publishing process and how it creates the new database:

image

image 

The publishing wizard actually does checks on your SQL server and the reason why I got a warning at the end was because, as the following logs state, the SQL server hosting the archiving and monitoring database does not have the SQL Server Agent started:

Warning: Failed to detect the status of SQL Server Agent. SQL Server Agent must be running for jobs to be managed and executed.

image

You can also verify where the database files were created by logging onto the database server.  The server hosting my monitoring and archiving database only had 1 drive so the files were dropped directly into subfolders on it:

Monitoring Databases

C:\CsData\MonitoringStore\(default)\DbPath\LcsCDR.mdf

C:\CsData\MonitoringStore\(default)\DbPath\QoEMetrics.mdf

image

C:\CsData\MonitoringStore\(default)\LogPath\LcsCDR.ldf

C:\CsData\MonitoringStore\(default)\LogPath\QoEMetrics.ldf

image

Archiving Databases

C:\CsData\ArchivingStore\(default)\DbPath\LcsLog.mdf

image

C:\CsData\ArchivingStore\(default)\LogPath\Lcs.ldf

image

The 3 new databases can also be seen in the SQL Server Management Studio console:

  • LcsCDR
  • LcsLog
  • QoEMetrics

image

Configure SQL Server Reporting Services

With the databases deployed, proceed with installing SQL Server Reporting Services if you haven’t already done so then configure the SSRS as shown in the following TechNet documentation:

http://technet.microsoft.com/en-us/library/jj204957.aspx

image

Launch Reporting Services Configuration Manager:

image

Connect to the SQL instance hosting SQL Server Reporting Services:

image

Ensure that the Report Server is started:

image

Configure the Report Server database by clicking on the Database node and selecting Change Database:

image

Create a new report server database:

image

image

image 

image

image

image

image

image

Create the Web Service URL but clicking on the Web Service URL node on the left, and if you’re satisfied with the defaults, scroll down and click on the Apply button to create the IIS directories:

image

With the Web Service URL created, you can test connectivity by clicking on the link in the window:

image

image

Continue with creating the Report Manager URL by clicking on the Report Manager URL node on the left and if you’re satisfied with the defaults, scroll down and click on the Apply button to create the IIS directories:

image

With the Report Manager URL created, you can test connectivity by clicking on the link in the window:

image

image

Deploy Monitoring Reports

http://technet.microsoft.com/en-us/library/jj204989.aspx

image

With the SQL Server Reporting Services configured, proceed by deploying the monitoring reports by launching the Deployment Wizard and clicking on Deploy Monitoring Reports:

image

Select the server with monitoring database and the instance with SQL Server Reporting services:

image

Specify an account that has permissions to SSRS:

image

Specify a group that you would like to have access to the reports and continue through the wizard:

image

image

image

image

image

Verify that the Monitoring Reports are deployed

Once the reports have been successfully deployed, confirm that they are accessible through the SQL Server Reporting Services reports URL:

image

image

Note the familiar reports available:

image

Configure Monitoring and Archiving

With the databases and reports installed and configured, we can proceed with enabling them for the Lync Server 2013 environment:

image

Launch the Lync Server 2013 Control Panel:

image

Navigate to the Monitoring and Archiving node:

image

Configure the required settings for Call Detail Recording:

image

Quality of Experience Data:

image 

image

Archiving Policy:

image

image

image

Archiving Configuration:

image

image

Ensure that you verify monitoring metrics are being captured by reviewing the SQL Server Reporting Services reports and exporting archived logs.  For more information about exported archived IM messages, see one of my previous posts here:

Exporting Archived Logs from Lync Server 2013 Archiving Database
http://terenceluk.blogspot.com/2013/02/exporting-archived-logs-from-lync.html

10 comments:

ketz said...

Great tutorial Terence. It only shows how important website monitoring is. Giving importance to this will increase your website performance.

Anonymous said...

Hi, I am currently deploying Lync 2013 with archiving and monitoring to a lab environment and for some reason my database does not show the files that you mentioned that should have appeared. Aside from that, the logs that come out after I publish the topology do not contain a header which mentioned that the features Monitoring Server and Archiving Server were added.

Manish Kumar said...

thanks for sharing this post.
Spaceage security- 24V DC, 48V DC, BTS 4 channel DC energy power meter digital panel meter, remote energy monitoring, RS232, RS4852 Interface, for BTS telecom shelter multiple operator manufacturer supplier, distributor, dealer, exporter in india Delhi/NCR.

Jhon hay said...

Thanks to post such a valuable information . I read your comment before reading i was so confuse about some topics but after reading my all queries are clear especially
Call monitoring
ones again thanks

Anonymous said...

Thanks for posting this. It was a huge help and time saver!

Muhammad Waseem said...
This comment has been removed by the author.
Elson Cade said...
This comment has been removed by the author.
Unknown said...
This comment has been removed by the author.
Anyta said...

Hi there,
What happens iff the LyncServerReports disappeared after deployment? Thereporting services worked for long time. Mysteriously it is "gone", so the monitoring reports are not working, however the databse files do exist. Do you have any idea how to fix this? thanks in advance.

Fidel Quintela said...

Great blog Terence. I am attempting to associate my FE pool with a monitoring store. I have an existing store for my FE pool. Can I use the same without overwriting all the other db's in there? You show a screenshot where only LCSCDR, LCSLog and QOEMetrics were added. Just want to confirm no overwriting takes place if adding to my default SQL instance.

Cheers.