SNMP Access Using Scripts

From Observer GigaFlow Support | VIAVI Solutions Inc.
Revision as of 10:25, 23 January 2017 by Kevin Wilkie (Talk | contribs)

Jump to: navigation, search

Querying a number (uptime in this case) from an infrastructure device

var ip="83.70.199.182" //Set Ip address
var thisDevice = actions.getDevice(ip); //Get managed device
if (thisDevice != null) { //Check if it exists in the system
    var uptime = actions.querySNMPNumber(thisDevice, '.1.3.6.1.2.1.1.3.0', -1); //Query device for uptime and store
    log.warn('Uptime for device ' + ip+" "+thisDevice.getName()+" "+uptime); //Write information to log
}else{
    log.warn("No such managed device "+ip); //Alert that device isn't a known infrastructure device
}

Querying a String (sysName in this case) from an infrastructure device

var ip="83.70.199.182" //Set Ip address
var thisDevice = actions.getDevice(ip); //Get managed device
if (thisDevice != null) { //Check if it exists in the system
    var uptime = actions.querySNMPText(thisDevice, '.1.3.6.1.2.1.1.5.0', -1); //Query device for OID .1.3.6.1.2.1.1.5.0(sysName) and store
    log.warn('sysName for device ' + ip+" "+thisDevice.getName()+" "+uptime); //Write information to log
}else{
    log.warn("No such managed device "+ip); //Alert that device isn't a known infrastructure device
}

Querying a String (sysName in this case) from an infrastructure device

var ip="83.70.199.182" //Set Ip address
var thisDevice = actions.getDevice(ip); //Get managed device
if (thisDevice != null) { //Check if it exists in the system
    var table = actions.querySNMPTable(thisDevice, ['.1.3.6.1.2.1.1']); //Query device for table(s) and store
    for (var i=0;i<table.size();i++){
          var entry = table.get(i);
          log.warn("This Row:"+i+" :"+entry.getIndex()+" "+showSNMPVariables(entry.getColumns()));
     }
}else{
     log.warn("No such managed device "+ip); //Alert that device isn't a known infrastructure device
}
//A function to return the variables from each returned column
function showSNMPVariables(entry){
 	var retValue="";

for (var i=0;i<entry.length;i++){

 		retValue+='\t'+i+':'+entry[i].getVariable().toString()

}

      return retValue;
}

Getting the SysOID of a device and determining if its a Cisco device

var ip="83.70.199.182" //Set Ip address
var thisDevice = actions.getDevice(ip); //Get managed device
if (thisDevice != null) { //Check if it exists in the system
    log.warn('sysOID for device ' + ip+" "+thisDevice.getName()+" "+thisDevice.getSysOID()); //Write details to log
    if (thisDevice.getSysOID().indexOf('1.3.6.1.4.1.9')==0){ //Look for Ciscos OID and see if it exists ==0
        log.warn("Is Cisco");//Write to log
    }
}else{
    log.warn("No such managed device "+ip); //Alert that device isn't a known infrastructure device
}