[SNMP4J] A question about getTable

Enrique J. Garcia Diaz egdiaz at gmail.com
Wed Aug 13 18:14:57 CEST 2008


Hi Mark,

I have proved with the following lines:
        OID lowerIndex = new OID ("0");
        OID upperIndex = new OID ("256");

But the result is the same. I thougth that if the value is null in both, all
rows are returned.

Thnks and br,
Kike

2008/8/13 Mark Ellison <Mark at ellisonsoftware.com>

>  Hi,
>
> One thing I notice- you have 'lowerIndex' and 'upperIndex' both set to
> null.  Try setting lowerIndex to '0' and upperIndex to '256' or some other
> large value.  Both of these index values can be a single subid.
>
> Regards,
>
> Mark
>
>
> On 08/12/2008 07:10 PM, Enrique J. Garcia Diaz wrote:
>
> Hi Frank,
>
> I have increased the timeout and unfortunately, the result is the same. I am
> using net snmp agent, version 5.4.0 (the latest, I think). I have seen the
> same behaviour with ipAddrTable (I do not know if that gives more info).
>
> I can prove with another agent and see if the result is the same. Anybody
> recommend me an agent?
>
> Thanks for the replies.
> Kike
>
> 2008/8/13 Frank Fock <fock at agentpp.com> <fock at agentpp.com>
>
>    Maybe you need to increase the timeout value
> or check if the agent has a bug regarding
> lexicographic ordering, which is often
> the case in conjunction with the tcpConnTable.
>
> Also the PDU size might impose a problem here.
> But that would be also an agent bug.
>
> Best regards,
> Frank
>
> Enrique J. Garcia Diaz wrote:
>
>
>
>  Hi Frank,
>
> Thank you for your advice. I have tried without a dot at the beginning but
> the result is the same. Anyway, i am going to use the standard from now.
>
> Maybe I make a mistake and the problem is not where I am thinking... I do
> not know, do you think that is correct my approach?
>
> Thnks, BR,
> Kike
>
> 2008/8/13 Frank Fock <fock at agentpp.com <mailto:fock at agentpp.com> <fock at agentpp.com>>
>
>
>    Hi Kike,
>
>    OIDs do not start with a dot! This is some
>    stupid notation from NET-SNMP which is
>    non-standard. Try "1.3.6.1.2.1.6.13.1.1"
>    instead.
>
>
>    Best regards,
>    Frank
>
>    Enrique J. Garcia Diaz wrote:
>
>        Hi Frank,
>
>        I am going to try to explain better my question...
>
>        I have implemented a method that returns a list with the rows of
>        any table. The method is called getTable and the code is below.
>
>           public List getTable(String[] oid)   {
>               try  {
>                   snmp.listen();
>               }
>               catch (IOException e)  {
>                   e.printStackTrace();
>               }
>                             TableUtils utils = new TableUtils(snmp, new
>        DefaultPDUFactory());
>                               OID lowerIndex = null;
>               OID upperIndex = null;
>                       OID[] arr = new OID[oid.length];
>               for (int i=0; i<oid.length; i++) arr[i] = new OID(oid[i]);
>                       List list = utils.getTable(target, arr,
>        lowerIndex, upperIndex);
>                               return list;
>           }
>
>        The input of this method is an array of String that represents
>        the OIDs. In the case of the table TcpConnTable (from RFC1213)
>        the array contains the following values:
>
>        String [] tcpConnTable = { ".1.3.6.1.2.1.6.13.1.1",
>        ".1.3.6.1.2.1.6.13.1.2", ".1.3.6.1.2.1.6.13.1.3",
>        ".1.3.6.1.2.1.6.13.1.4", ".1.3.6.1.2.1.6.13.1.5" };
>
>        ".1.3.6.1.2.1.6.13.1.1" belongs to tcpConnState,
>        ".1.3.6.1.2.1.6.13.1.2" belongs to tcpConnLocalAddress, etc.
>
>        The returned value of this method in the case of TcpConnTable is
>        not valid (is null) and nullPointerException is thrown.
>
>        I have found some cases that the method returns valid values.
>        For example if I call the method with the following array of
> String:
>        String [] hrSWRunTable = { ".1.3.6.1.2.1.25.4.2.1.1",
>        ".1.3.6.1.2.1.25.4.2.1.2", ".1.3.6.1.2.1.25.4.2.1.3",
>        ".1.3.6.1.2.1.25.4.2.1.4", ".1.3.6.1.2.1.25.4.2.1.5",
>        ".1.3.6.1.2.1.25.4.2.1.6", ".1.3.6.1.2.1.25.4.2.1.7" }
>
>        where,
>        ".1.3.6.1.2.1.25.4.2.1.1" belongs to hrSWRunIndex (from
>        HOST_RESOURCES), ".1.3.6.1.2.1.25.4.2.1.2" belongs to
>        hrSWRunName, etc.
>
>        So, I think that the problem is that I am not able to call this
>        method with the correct array of String that belongs of the list
>        of OIDs of the columns in the table. I have found with a MIB
>        browser that there is a OIDs like I wrote in my previous mail
>        (.1.3.6.1.2.1.6.13.1.1.127.0.0.
>        1.27015.127.0.0.1.1093).
>
>        Then, I would like to know if I am doing something wrong and how
>        people retrieve data from a table like TcpConnTable.
>
>        I hope I have explained better with this mail.
>
>        Thanks and BR,
>        Kike
>
>
>        2008/8/12 Frank Fock <fock at agentpp.com <mailto:fock at agentpp.com> <fock at agentpp.com>
>        <mailto:fock at agentpp.com <fock at agentpp.com> <mailto:fock at agentpp.com> <fock at agentpp.com>>>
>
>
>
>           Hello Kike,
>
>           What exactly is the problem?
>
>           Best regards,
>           Frank
>
>
>           Enrique J. Garcia Diaz wrote:
>
>               Hello everybody!
>
>               I have tried to look for an answer first to previous
>        messages but,
>               unfortunately I have not found anything that clarify me.
>        So, I
>               apologize if
>               this is not the best place to ask or if someone has asked
>        before.
>
>               My problem is that I want to make a program that retrieve
>        SNMP
>               information.
>               In particular, I have some problems retrieving information
> in
>               some tables,
>               in particular, TcpConnTable (RFC1213).
>
>               The problem is that if I use getTable method (in
>               org.snmp4j.util.TableUtils), I do not receive the data of
> the
>               tables. The
>               reason is because some OIDs are something like this:
>               .1.3.6.1.2.1.6.13.1.1.127.0.0.1.27015.127.0.0.1.1093,
>        where the
>               last fields
>               are my IP address and the listened port (info that it is
>        likely
>               that I do
>               not know)
>
>               So, I am not able to retrieve TcpConnTable using SNMP4J.
>        Anybody
>               has any
>               suggestions? How can I get these variables?
>
>               I have tried to use GetNext and GetBulk methods but the
>        problem
>               is the same,
>               I do not know the exact name of the OID that I want to
>        retrieve.
>               I hope I
>               have expressed correctly the problem and everybody
>        understand it.
>
>               Thanks in advanced,
>               Kike
>               _______________________________________________
>               SNMP4J mailing list
>               SNMP4J at agentpp.org <mailto:SNMP4J at agentpp.org> <SNMP4J at agentpp.org>
>        <mailto:SNMP4J at agentpp.org <SNMP4J at agentpp.org> <mailto:SNMP4J at agentpp.org> <SNMP4J at agentpp.org>>
>
>               http://lists.agentpp.org/mailman/listinfo/snmp4j
>
>
>           --    AGENT++
>           http://www.agentpp.com
>           http://www.mibexplorer.com
>           http://www.mibdesigner.com
>
>
>
>    --    AGENT++
>    http://www.agentpp.com
>    http://www.mibexplorer.com
>    http://www.mibdesigner.com
>
>
>
>        --
> AGENT++http://www.agentpp.comhttp://www.mibexplorer.comhttp://www.mibdesigner.com
>
>
>      _______________________________________________
> SNMP4J mailing listSNMP4J at agentpp.org
> http://lists.agentpp.org/mailman/listinfo/snmp4j
>
>
>
>



More information about the SNMP4J mailing list