SNMP OUTPUT OPTIONS - How do I get the OID response value only?

13,242

You can tune the output with the -O argument:

snmpgetnext -Oqv -v 2c -c public 192.168.0.77 .1
2

See the --help:

q:  quick print for easier parsing
v:  print values only (not OID = value)
Share:
13,242
user2179455
Author by

user2179455

Updated on June 15, 2022

Comments

  • user2179455
    user2179455 almost 2 years

    I have to go through and collect a few OIDs from some SNMP enabled network printers with a BASH script I have been working on.

    My Request:

    snmpget -v2c -c public 192.168.0.77 
    .1.3.6.1.2.1.1.1 
    .1.3.6.1.2.1.1.2 
    

    My Actual Response:

     .1.3.6.1.2.1.1.1 = Counter32: 1974 
     .1.3.6.1.2.1.1.2 = Counter32: 633940
    

    The Desired Response:

    1974
    633940314
    

    (just the oid values only)

    I looked and tested several options using the resource from the site below:

    http://www.netsnmp.org/docs/man/snmpcmd.html#lbAF

    -Oq removes '=' so running

    snmpget -v2c -c public -Oq 10.15.105.133
    .1.3.6.1.2.1.1.1 
    .1.3.6.1.2.1.1.2 
    

    returns

    .1.3.6.1.2.1.1.1 Counter32: 1974
    .1.3.6.1.2.1.1.2 Counter 32: 633940314
    

    so I know I am phrasing my request properly.

    I am taking the values and writing them to a MYSQL dB, I set the data types in my tale schema, the request is consistent so I know the definition of the OID, so I do not need all the information I am getting back, just the value of the OID itself, so I can write it to my dB without manipulating the the response. I probably can manipulate the response pulling the information to the right of ":" and writing the value of the OID.

    I am relatively new to SNMP (http://www.net-snmp.org/), but I can not see why this is not a more commonly asked question because I have been searching everywhere for an answer and this post is my last recourse...