Introduction

Access control groups are pre configured on Cisco Unified Communications Manager and associated standard roles are automatically added once you added the required access group to the list.

Pre-requisites

  • A gateway management profile mapped to a resource.
  • Create credentials with type as HTTP before assigning a template to a resource.

Discovery using the gateway

The administrator can deploy a gateway to support Cisco UCM agentless monitoring. The gateway establishes a connection to the database using the management profile, collects metrics from the templates, and starts monitoring.

To monitor Cisco UCM:

  • Associate appropriate database credentials to the discovered database.
  • Assign one or more database-specific global templates on the device.

Choose one of the following management mechanisms to discover MongoDB servers and add them to your inventory:

  • WMI
  • SSH
  • SNMP
  • (Optional) Manually add a database server to the infrastructure inventory.
    1. Select Infrastructure.
    2. Click the Settings icon.
    3. Select Resource > Add.
    4. In the Add Device window, enter the required details Device Type and any additional properties you want.
    5. Click Save.

Permissions required for Cisco UCM monitoring

  1. Click Cisco Unified Communication Manager.
NVIDIA Bright Cluster Manager
  1. Select Navigation as Cisco Unified CM Administration.
  2. Enter the Username and Password then click Login.
NVIDIA Bright Cluster Manager
  1. On the User Management menu, click Application User.
NVIDIA Bright Cluster Manager
  1. Click + Add New.
NVIDIA Bright Cluster Manager
  1. In the Application User Information, enter the below details:
FunctionalityDescription
User IDEnter a User ID.
PasswordEnter the password.
Confirm PasswordRe-enter the password.
Digest CredentialsEnter the digest credentials.
Confirm Digest CredentialsRe-enter the digest credentials.
BLF Presence GroupSelect the BLF presence group from the dropdown menu.
User RankSelect the user rank from the drop down menu.
NVIDIA Bright Cluster Manager
  1. Navigate to the permissions information section and click Add to Access Control Group.
  2. Select the below mentioned groups:
    • Standard Audit Users
    • Standard CCM Server Monitoring
    • Standard CCM Super Users
    • Standard RealtimeAndTraceCollection
    • Standard TabSync User Role
      Note: Above access control groups are pre configured on Cisco Unified Communications Manager and associated standard roles are automatically added once you added the required access group to the list.
  3. Click Add Selected.

Sample Request XML:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://schemas.cisco.com/ast/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   	<SOAP-ENV:Body>
      <ns1:PerfmonCollectCounterData>
         <Host xsi:type="xsd:string">10.90.236.10</Host>
         <Object xsi:type="ns1:ObjectNameType">Processor</Object>
      </ns1:PerfmonCollectCounterData>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Sample Response XML:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ns1:PerfmonCollectCounterDataResponse xmlns:ns1="http://schemas.cisco.com/ast/soap/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <ArrayOfCounterInfo xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" soapenc:arrayType="ns1:CounterInfoType[45]" xsi:type="soapenc:Array">
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\% CPU Time</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\IOwait Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\Idle Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\Irq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\Nice Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\Softirq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\Steal Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\System Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(0)\User Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\% CPU Time</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\IOwait Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\Idle Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\Irq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\Nice Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\Softirq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\Steal Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\System Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(1)\User Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\% CPU Time</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\IOwait Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\Idle Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\Irq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\Nice Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\Softirq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\Steal Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\System Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(2)\User Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\% CPU Time</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\IOwait Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\Idle Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\Irq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\Nice Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\Softirq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\Steal Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\System Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(3)\User Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\% CPU Time</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\IOwait Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\Idle Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\Irq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\Nice Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\Softirq Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\Steal Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\System Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
            <item xsi:type="ns1:CounterInfoType">
               <Name xsi:type="ns1:CounterNameType">\\10.90.236.10\Processor(_Total)\User Percentage</Name>
               <Value xsi:type="xsd:long">0</Value>
               <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
            </item>
         </ArrayOfCounterInfo>
      </ns1:PerfmonCollectCounterDataResponse>
   </soapenv:Body>
</soapenv:Envelope>

Configure and install the integration

  1. From All Clients, select a client
  2. Go to Infrastructure > Resources.
  3. Click the Settings button and select Add.
NVIDIA Bright Cluster Manager
  1. The Add Device page appears, enter the below details:
FunctionalityDescription
Host NameEnter the host name for the device.

Example: Enter UCM Credentials as the host name.
Resource NameEnter the resource name for the device.
Alias NameEnter an Alias name.
DescriptionEnter a description for the device.
IP AddressEnter the required IP address.
MakeEnter the make of the device.
ModelEnter the model number of the device.
DNS NameEnter the DNS name.
OSEnter the OS version details.
Purchase DateSelect the purchase date.
Warranty Expiration DateSelect the warranty expiration date.
Device TypeSelect the device type from the drop-down list.

Example: Select HTTP as the device type.
Keyboard TypeSelect the keyboard type from the drop-down list box.

Note:By default US104 is selected.
Encoding TypeSelect the encoding type from the drop-down list box.

Note: By default UTF8 is selected.
OwnerSelect the ownership from the drop-down list box.
LocationSelect the location details from the drop-down list box.
Management TypeSelect the management type from the drop-down list box.
CredentialsSelect the credentials.
  1. Click Save.
NVIDIA Bright Cluster Manager

View the Cisco UCM details

The Cisco UCM integration is displayed in the Infrastructure > Resources > Network Device. You can navigate to the Attributes tab to view the discovery details, and the Metrics tab to view the metric details for Cisco UCM.

NVIDIA Bright Cluster Manager
NVIDIA Bright Cluster Manager

The device types Cisco UCM, Cisco Contact Center Express, Cisco Unity, Cisco IM & Presence Server supports SOAP protocol to get the data. SOAP is an XML-based protocol for accessing web services over HTTP, preparing an XML request, querying the device and will get the response that is also in XML.

Supported templates

Troubleshooting

Login to gateway CLI.

Troubleshooting steps for Performance metrics

Replace the IPAddress word with actual IP address of UCM device and then save below performance data request with data.xml name

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:ns1="http://schemas.cisco.com/ast/soap/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <SOAP-ENV:Body>
       <ns1:PerfmonCollectCounterData>
           <Host xsi:type="xsd:string">IPAddress</Host>
           <Object xsi:type="ns1:ObjectNameType">Processor</Object>
       </ns1:PerfmonCollectCounterData>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Replace UserName, IPAddress, Port in the below command and then execute it and verify whether it is getting a response or not.

curl -X POST -d @data.xml -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: http://schemas.cisco.com/ast/soap/#PerfmonCollectCounterData" -k -u <userName> https://<IPAddress>:<port>/perfmonservice/services/PerfmonPort -vvv

Troubleshooting steps for Performance metrics

Replace the IPAddress word with ip address of UCM device and then save below service data request with sdata.xml file name.

<soapenv:Envelope
   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:soap="http://schemas.cisco.com/ast/soap">
   <soapenv:Header/>
   <soapenv:Body>
       <soap:soapGetServiceStatus>
           <soap:ServiceStatus/>
       </soap:soapGetServiceStatus>
   </soapenv:Body>
</soapenv:Envelope>

Replace UserName, IPAddress, Port in the below command and then execute it and verify whether it is getting a response or not.

curl -X POST -d @sdata.xml -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: http://schemas.cisco.com/ast/soap/action/#ControlCenterServices" -k -u <userName> https://<IpAddress>:<port>/controlcenterservice/services/ControlCenterServicesPort -vvv