Skip to content

Instantly share code, notes, and snippets.

@JoseIbanez
Created December 15, 2016 12:34
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JoseIbanez/04c89c8d5e091ec42d6c85c9ab9534c0 to your computer and use it in GitHub Desktop.
Save JoseIbanez/04c89c8d5e091ec42d6c85c9ab9534c0 to your computer and use it in GitHub Desktop.
Call Manager AXL api for Performance Monitoring
from suds.client import Client
from suds import WebFault
from suds.transport.https import HttpAuthenticated
import os.path
import ssl
import time
import logging
logging.basicConfig(level=logging.CRITICAL)
logging.getLogger('suds.client').setLevel(logging.CRITICAL)
logging.getLogger('suds.transport').setLevel(logging.CRITICAL)
logging.getLogger('suds.xsd.schema').setLevel(logging.CRITICAL)
logging.getLogger('suds.wsdl').setLevel(logging.CRITICAL)
#context = ssl._create_unverified_context()
ssl._create_default_https_context = ssl._create_unverified_context
#HOME = os.path.expanduser("")
HOME = os.path.dirname(os.path.abspath(__file__))
wsdl = "file://" + os.path.join(HOME, "wsdl/PerfmonService.xml")
cucm = "10.10.20.1"
cmport = "8443"
username = "administrator"
password = "ciscopsdt"
result_error = None
location = "https://" + cucm + ":" + cmport + "/perfmonservice2/services/PerfmonService/"
client = Client(wsdl,
location=location,
transport=HttpAuthenticated(username=username, password=password))
#result=client.service.perfmonListCounter()
#print result
session=client.service.perfmonOpenSession()
print session
ac=client.factory.create('RequestArrayOfCounterType')
c1=client.factory.create('CounterType')
c2=client.factory.create('CounterType')
c1.Name="\\\\hq-cucm-pub\\System\\IOPerSecond"
c2.Name="\\\\hq-cucm-sub1\\System\\IOPerSecond"
ac.Counter.append(c1)
ac.Counter.append(c2)
result=client.service.perfmonAddCounter(SessionHandle=session,ArrayOfCounter=ac)
print result
l=0
while (l<100):
l+=1
time.sleep(2)
result=client.service.perfmonCollectSessionData(SessionHandle=session)
print l, result[0].Value, result[1].Value
result=client.service.perfmonCloseSession(SessionHandle=session)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment