ZenPack:Microsoft Lync

From Zenoss Wiki
Jump to: navigation, search

Note: This ZenPack is available in commercial versions of Zenoss. Click here to request more information about this commercial ZenPack. Click here to see all commercial ZenPacks.

Zenoss, Inc.
ZenPack name

Applications Monitored: 

Microsoft Lync ZenPack

The Microsoft Lync ZenPack allows for monitoring of a Microsoft Lync Server environment running on Microsoft Windows systems.


The ZenPack Catalog has moved to its new home at https://www.zenoss.com/product/zenpacks as of January 17, 2017. The following information may be out of date, and this page will eventually be removed.


This ZenPack is included with commercial versions of Zenoss and enterprise support for this ZenPack is provided to Zenoss customers with an active subscription.


Version 1.1.0- Download
Released on 2016/07/22
Requires PythonCollector ZenPack,Microsoft Windows ZenPack
Compatible with Zenoss Resource Manager 4.2.x, Zenoss Resource Manager 5.0.x, Zenoss Resource Manager 5.1.x
Version 1.0.2- Download
Released on 2016/07/13
Requires PythonCollector ZenPack,Microsoft Windows ZenPack
Compatible with Zenoss Resource Manager 4.2.x, Zenoss Resource Manager 5.0.x, Zenoss Resource Manager 5.1.x
Version 1.0.1- Download
Released on 2016/04/26
Requires PythonCollector ZenPack,Microsoft Windows ZenPack
Compatible with Zenoss Resource Manager 4.2.x, Zenoss Resource Manager 5.0.x, Zenoss Resource Manager 5.1.x
Version 1.0.0- Download
Released on 2014/08/18
Requires PythonCollector ZenPack,Microsoft Windows ZenPack
Compatible with Zenoss Resource Manager 4.2.x


This ZenPack provides support for monitoring Microsoft Lync messaging platform. Monitoring is performed using the Windows Remote Shell (WinRS) to collect Windows Cmdlet and Perfmon data.



The features added by this ZenPack can be summarized as follows. They are each detailed further below.

  • Initial discovery and periodic remodeling of relevant components.
  • Server performance monitoring and QoE metrics monitoring.
  • Event management.
  • Optional service impact with addition of Zenoss Service Dynamics product.
  • Auto-discovery of Lync Computers' guest devices.


The following components will be automatically discovered through the Windows server address, username and password you provide. Note that domain credentials are required to model/monitor Lync CMS and it's replicas. The properties and relationships will be periodically updated by modeling.

MSLync Site
Attributes: Name, Description, Type of Site, Parent Site
MSLync Computer
Attributes: Name, Site, Pool FQDN, Replication Status, Product Version
MSLync User Server
Attributes: Name, Site, Computer, Status
MSLync Web Server
Attributes: Name, Site, Computer, External FQDN, Internal FQDN, Status
MSLync Conferencing Server
Attributes: Name, Site, Computer, Status
MSLync Mediation Server
Attributes: Name, Site, Computer, Status
MSLync Edge Server
Attributes: Name, Site, Computer, AV Edge External FQDN, Access Edge External FQDN, Data Edge External FQDN, Status
MSLync Monitoring Database
Attributes: Name, Site, Computer, SQL Instance Name

Performance Monitoring

Perfmon counters are collected using the PowerShell Get-Counter Cmdlet within a remote shell (WinRS). The following metrics will be collected every 5 minutes by default. Any other Windows Perfmon counters can also be collected by adding them to the appropriate monitoring template.

MSLync User Server
DBStore: Queue Latency, Sproc Latency
Incoming Messages Processing Time: Avg. Processing Time, Avg. Holding Time
Peers: Outgoing Queue Delay, Sends Timed-Out
Requests and Responses Dropped: Requests Dropped, Responces Dropped
Timed-Out Messages: Incoming Messages Timed-Out
MSLync Web Server
Address Book Failed Requests: Failed File Requests, Failed Search Requests
MSLync Conferencing Server
MCU Health state: Instant Messages, Application Sharing, Data, Audio/Video
Active Conferences: Instant Messages, Application Sharing, Data, Audio/Video
Throtted Sip Connections: Throtted Sip Connections
MSLync Mediation Server
Media Relay: Candidates Missing, Media Connectivity Check Failure
Health: Local Call Failure Index
Total Failed Calls: Calls Failed from Gateway, Calls Failed from Proxy
MSLync Monitoring Database
QoE Metrics: Listening MOS, Sending MOS, Network MOS, Network MOS Degradation, Jitter, Packet Loss Rate, Round Trip Time

Bulbgraph.png Note: Note that QoE Metrics will only be monitored if the monitoring role is installed and the QoEMetrics database is installed and configured. The monitoring plugin collects the average values form the QoEMetrics database for the last hour of call activity on the server.

MSLync Edge Server
Metrics: Authentication Failures (TCP/UDP), Packets Dropped (TCP/UDP), Allocate Requests Exceeding Port Limit (TCP/UDP)

Bulbgraph.png Note: As the Edge server machine is not accessible by the domain credentials supplied for the CMS, the above metrics are to be monitored directly on the Edge device with the help of MSLyncEdgeServer2010/MSLyncEdgeServer2013 monitoring templates.

Event Monitoring

According to the following MSLync states this ZenPack will trigger events with an appropriate summary message.

MSLync Computer
Warning event:
  • The replication state is not up to date,
  • One or more Lync windows services are stopped.
Critical event:
  • The server is Down.
MSLync User Server
Warning event:
  • The server is stopped,
  • DBStore Queue Latency or Sproc Latency is above 100ms,
  • Incoming Messages Processing Time or Holding Time is above 6 seconds,
  • More than 1 Requests or Responses Dropped,
  • Peers - Outgoing Queue Delay is above 2 seconds.
Critical event:
  • DBStore Queue Latency or Sproc Latency is above 6000ms.
MSLync Web Server
Warning event:
  • More than 5 Address Book Failed File or Search Request.
MSLync Conferencing Server
Warning event:
  • The server is stopped,
  • More than 1 Throttled Sip Connections,
  • The health state of any MCU is above 1. (MCU states: 1 - Loaded, 2 - Full, 3 - Unavailable)
MSLync Mediation Server
Warning event:
  • The server is stopped,
  • Load Call Failure Index due to heavy load is above 10.
MSLync Edge Server
Warning event:
  • The per-second rate of packets over TCP or UDP dropped by the relay is above 300,
  • The per-second rate of allocate requests over TCP or UDP that exceeded the port limit is above 20,
  • The per-second rate of failed attempts to authenticate with the relay over TCP or UDP is above 20.
MSLync Monitoring Database
Warning event:
  • The monitoring database is not configured properly or the hosting machine is Down.

Service Impact

When combined with the Zenoss Service Dynamics product, this ZenPack adds built-in service impact capability for MS Lync. The following service impact relationships are automatically added. These will be included in any services that contain one or more of the explicitly mentioned entities.

Service Impact Relationships
  • Site failure affects related device.
  • Computer failure affects related site.

Auto-discovery of Lync Computers' Guest Devices

You can optionally configure each monitored windows server to attempt to discover and monitor the guest systems for each Lync Computer component. This requires that your Zenoss system has the network and server access it needs to monitor the guest system.

Lync Edge Discovery

Lync Computer component hosting the Edge role is modeled with it's internal FQDN, therefore the guest device for this computer will be created using it's AV Edge External FQDN. The Edge host is not accessible by the domain credentials supplied for the CMS, therefore Lync Edge metrics should be monitored directly from the guest device, using the following steps:

  1. Go to the Edge Server device.
  2. Bind MSLyncEdgeServer2010 or MSLyncEdgeServer2013 monitoring template (according to the Lync server version).


This ZenPack has the following requirements.

PythonCollector ZenPack
This ZenPack depends on PythonCollector being installed, and having the associated zenpython collector process running.
Microsoft Windows ZenPack
This ZenPack depends on Microsoft Windows ZenPack being installed, and uses its zProperties and tools. Due to this, servers running Lync services need to be in the /Server/Microsoft/Windows device class for proper modeling and monitoring.


To start monitoring your Microsoft Lync server you will need to setup connection to it as well as bind modeler plugin to the device or device class containing your hosting Microsoft Windows device.

Use the following steps to start monitoring Microsoft Lync using the Zenoss web interface.

  1. Navigate to the Configuration Properties page of the device containing your MS Lync server.
  2. Set zWinRMUser, zWinRMPassword and zWinKDC properties.
  3. Navigate to the Modeler plugins page of the device, add the zenoss.winrm.MSLync modeler plugin and remodel the device. This will automatically find the MS Lync components and start monitoring them immediately for the previously mentioned metrics.


Domain User Account

Since MS Lync is a domain level service, a local account will not work to collect information. Therefore the WinRM user for data collection must be a domain level account, assigned to an Administrative Role. For more information refer to Role-Based Access Control and New-CsAdminRole.


Microsoft Lync for connection to Lync Remote PowerShell doesn't use zWinScheme from Microsoft Windows ZenPack. Lync remote PowerShell endpoint is secured with SSL (https) by default.


Please refer the the Zenoss Service Dynamics documentation if you run into any of the following problems:

  • ZenPack will not install
  • Adding a device fails
  • Don't understand how to add a device
  • Don't understand how to model a device

If you cannot find the answer in the documentation, then Resource Manager (Service Dynamics) users should contact Zenoss Customer Support. Core users can use the #zenoss IRC channel or the community.zenoss.org forums.

Device Modeling Failed

If the device modeling failed, run the modeler in debug mode (zenmodeler run -d <device_id> -v10).

If you see the following debug statement:

DEBUG zen.PythonClient: Process is terminated due to StackOverflowException.

This means that there is not enough memory allocated per shell in the winrm config. Run the following statement on the target Windows machine to fix it:

winrm s winrm/config/winrs '@{MaxMemoryPerShellMB="300"}'

Installed Items

Installing this ZenPack will add the following items to your Zenoss system.

Modeler Plugins
  • zenoss.winrm.MSLync
Monitoring Templates
  • MSLyncComputer (in /Server/Microsoft)
  • MSLyncConferencingServer (in /Server/Microsoft)
  • MSLyncMediationServer (in /Server/Microsoft)
  • MSLyncMonitoringDatabase (in /Server/Microsoft)
  • MSLyncUserServer (in /Server/Microsoft)
  • MSLyncWebServer (in /Server/Microsoft)
  • MSLyncEdgeServer2010 (in /Server/Microsoft)
  • MSLyncEdgeServer2013 (in /Server/Microsoft)
Component Types
  • MSLyncSite (on related device)
  • MSLyncComputer (on MSLyncSite)
  • MSLyncConferencingServer (on MSLyncComputer)
  • MSLyncMediationServer (on MSLyncComputer)
  • MSLyncMonitoringDatabase (on MSLyncComputer)
  • MSLyncUserServer (on MSLyncComputer)
  • MSLyncWebServer (on MSLyncComputer)
  • MSLyncEdgeServer (on MSLyncComputer)


  • Fix zenpacks.zenoss.microsoft.windows 2.6.0 missing hardware relations (ZEN-23968)
  • Added subpanels for server components (ZEN-13608)
  • Documentation update: Update to note proper device class for Lync servers
  • Fixed modeling (ZEN-14656)
  • Use pool ID when adding server components (ZEN-15278)
  • Documentation update: Troubleshooting section updated (ZEN-15296)
  • Added lync relations and setter only to MS Windows device (ZEN-16635)
  • Fixed unit tests (ZEN-16635)
  • Initial Release


Normal Installation (packaged egg)

  1. Download the appropriate egg file for the version of Zenoss you are running.
  2. Ensure you are logged in as the zenoss user:
    $ sudo su - zenoss
  3. Install the ZenPack:
    $ zenpack --install ZenPacks.zenoss.Microsoft.Lync-*.egg
  4. Restart these services:
    $ zenoss restart


Purplemarker.png New: Don't forget to add yourself to the Zenoss User Map!

blog comments powered by Disqus