I'm using the node net-snmp package  to create a simple subagent but I cannot 
query its only table provider (Error in packet... No such variable name in 
MIB).  I have installed net-snmp and registered it, I am able to  query simple 
things such as uptime:
C:\usr\etc\snmp>snmpwalk -v1 -c public 127.0.0.1  .1.3.6.1.2.1.1.3
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (306196) 0:51:01.96

So, at least I know the snmpd is running and responding.
My snmpd.conf:rwcommunity  public  
master agentx
agentXSocket tcp:localhost:705load  12 12 12
Any thoughts would be greatly appreciated.
thanksIan in Ottawa


| 
| 
| 
|  |  |

 |

 |
| 
|  | 
net-snmp

JavaScript implementation of the Simple Network Management Protocol (SNMP). 
Latest version: 3.5.8, last publishe...
 |

 |

 |


Test table query:C:\usr\etc\snmp>snmpget -v1 -c public 127.0.0.1 
1.3.6.1.4.1.8072.9999.9999.2
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: NET-SNMP-MIB::netSnmpPlaypen.2



Js subagent:let snmp = require("net-snmp");

export class SNMPServer {  private static instance: SNMPServer;  subagent: null 
| any  mib: null | any  private constructor() {    this.subagent = 
snmp.createSubagent(suboptions);  }  public static getInstance(): SNMPServer {  
  if (!SNMPServer.instance) {        SNMPServer.instance = new SNMPServer();    
}    return SNMPServer.instance;  }
  public openSubAgent() {    this.subagent.open( this.openCallback );  }

  openCallback = ( error: any, data: any ) => {    if ( error ) {        
console.error('subagent.open() ERROR:' +error);    } else {        
console.log('subagent.open() OK...'+data)        this.subagent.registerProvider 
(myTableProvider, registerProviderCallback);        this.mib = 
this.subagent.getMib();        if (this.mib != null) {            
this.mib.addTableRow ("smallIfTable", [1, "IAN", 12]);            
console.log("SNMP Server: SubAgent-MIB Invoked");        } else {            
console.error ("Subagent Get MIB failure");        }    }  }
  public closeSubAgent() {    this.subagent.unregisterProvider(myTableProvider, 
()=>{} );    this.subagent.close (() => {});  }}
// Default suboptionsvar suboptions = {    debug: true,    master: "localhost", 
   masterPort: 705,    timeout: 0,    description: "Node net-snmp AgentX 
sub-agent"};
var registerProviderCallback = function (error: any, data: any) {    if ( error 
) {        console.error ('CREATE SUBAGENT ERROR '+error);    } else {        
console.log ('OK SNMP CREATE SUBAGENT '+JSON.stringify(data, null, 2));    }};
var myTableProvider = {    name: "smallIfTable",    type: 
snmp.MibProviderType.Table,    oid: "1.3.6.1.4.1.8072.9999.9999.2",    
tableColumns: [        {            number: 1,            name: "CampField1",   
         type: snmp.ObjectType.Integer        },        {            number: 2, 
           name: "CampField2",            type: snmp.ObjectType.OctetString     
   },        {            number: 3,            name: "CampField3",            
type: snmp.ObjectType.Integer        }    ],    tableIndex: [        {          
  columnName: "CampField1"        }    ],    handler: function (mibRequest: 
any) {        console.log('MibRequest!')        // e.g. can update the table 
before responding to the request here        mibRequest.done();    }};



_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to