On 24/08/06, Michal Ludvig <[EMAIL PROTECTED]> wrote:
> I have a software package for which I need to report some status /
> configuration tables via SNMP/AgentX. Each table has a bunch of
> key=value pairs, where the list of keys could change in time (e.g. with
> new version), so I prefer not to hardcode them to the MIB directly.
>
> 1) My idea is to have some simple tables:
     [snip]
> So this is the basic. Drawback is it could be a bit of pain to do GET/
> SET as I'll need to query the whole list of names from
> myDevice.tabStatus.varName, get the index of what I want and only then
> in another query get the actual variable.

OK - Why not use the variable name as the index to the table?
So you'd end up with something like:

       myDevice.tabStatus.varValue."num_connections" = STRING: 123
       myDevice.tabStatus.varValue."mem_used" = STRING: 98765

The other read-write for setting system variables:
       myDevice.tabConfig.varValue."max_connections" = STRING: 999
       myDevice.tabConfig.varValue."max_mem" = STRING: 99999



> Another thing is that I'll need to return all varValue.X as STRINGs even
> if some of them are actually integers. Or can I have each index in a
> table of a different type?

Each column of a table is a fixed type, so you couldn't have one
"varValue" returning a string, and another returning an integer.
But you *could* define several value columns to cover the different
syntaxes, and have a "sparse" table - with only one value column valid
for any particular row.

e.g.
     $ snmpwalk  myDevice
     varType."num_connections" = integer(1)
     varType."current_time" = string(2)
     varType."mem_used" = integer(1)
     varValueInt."num_connections" = 99999
     varValueInt."mem_used" = 2
     varType."current_time" = "Later than you think"


See the DISMAN-EXPRESSION-MIB::expValueTable for an example of this.
That's a bit more complex than you'd need, due to the need to handle
wildcarded expressions, but the basic idea is the same.



> Is is OK to have one variable accessible in two ways

Yes.
It's not ideal, but it's perfectly common - and a very reasonable
response to the realities of modelling an imperfect world!    The most
important thing is to ensure that the values reported are consistent -
you shouldn't get a different answer depending on which object you
query.
(Something that our current agent isn't always very good at :-( )


> BTW How should I assign OID to my MIB? Do I need to apply for an
> Enterprise ID with IANA?

Long term - yes.

>        Is there an OID reserved for testing / development?

    NET-SNMP-MIB::netSnmpPlaypen

That's fine if you're just working internally.
But if this code is ever likely to see a wider audience (e.g. the rest
of your company, or particularly the wider world), then you really
must obtain your own Enterprise number from IANA.


> I don't know yet much about designing and writing MIBs so I'm seeking
> some advices here. Any thoughts and pointers are highly appreciated!

"Understanding SNMP MIBs" is the canonical work on the subject.

Dave

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to