Getting back to the original task..
Use a script on a centralized Controller-VM to figure out for which SNMP-OID RMON-Alarms should get configured
Get all current QoS-Drop-Counters, check the traffic-direction to monitor only outbount-queues, generate RMON-Alarms.
hostname = "192.168.2.72" session = Session(hostname, community='READ', version=2) cbqos = session.walk('1.3.6.1.4.1.9.9.166.1.15.1.1.13') cmds = ["Configure on Host \""+hostname+"\"\n---"] cmds.append("rmon event 10 log owner RMONevent") cmds.append("rmon event 11 log owner RMONevent") alarmID = 10001 for i in cbqos: oidList=i.oid.split(".") q=oidList.pop() p=oidList.pop() #print p,q ifTypeID=int(session.get("1.3.6.1.4.1.9.9.166.1.1.1.1.2."+p).value) ifDirID=int(session.get("1.3.6.1.4.1.9.9.166.1.1.1.1.3."+p).value) if (ifDirID==2): cmds.append("rmon alarm "+str(alarmID)+" "+i.oid+" 300 delta rising-threshold 1 11 falling-threshold 0 10 owner RMONevent") alarmID += 1 for cmd in cmds: print cmd
Example Output:
Configure on Host "192.168.2.72" --- rmon event 10 log owner RMONevent rmon event 11 log owner RMONevent rmon alarm 10001 enterprises.9.9.166.1.15.1.1.13.18.65536 300 delta rising-threshold 1 11 falling-threshold 0 10 owner RMONevent rmon alarm 10002 enterprises.9.9.166.1.15.1.1.13.18.131072 300 delta rising-threshold 1 11 falling-threshold 0 10 owner RMONevent rmon alarm 10003 enterprises.9.9.166.1.15.1.1.13.18.196608 300 delta rising-threshold 1 11 falling-threshold 0 10 owner RMONevent rmon alarm 10004 enterprises.9.9.166.1.15.1.1.13.34.65536 300 delta rising-threshold 1 11 falling-threshold 0 10 owner RMONevent rmon alarm 10005 enterprises.9.9.166.1.15.1.1.13.34.131072 300 delta rising-threshold 1 11 falling-threshold 0 10 owner RMONevent rmon alarm 10006 enterprises.9.9.166.1.15.1.1.13.34.196608 300 delta rising-threshold 1 11 falling-threshold 0 10 owner RMONevent
Todo: Verify existing RMON-Alarm/Event-Configuration at the device
Todo: Push the config automatically to the device