Hi,

"gsed -r "s/IF-MIB::ifDescr.([0-9]+) .*/\1/"" part is to make sure that I get 
the ifIndex of the physical interface and not the sub-interface like 
"GigabitEthernet5/26.123".

Isn't that achieved by the "$" in     grep -E "GigabitEthernet5/26$"

Some further information would be welcome in order to be able to answer your 
question.
Platform ?
Language ? is PERL an option ? AWK  seems the most appropriate when I see your 
example.

Example :

[jur466@nocu07 ~]$ snmpwalk -c MyCS  MySwitch          1.3.6.1.2.1.2.2.1.2
.1.3.6.1.2.1.2.2.1.2.1 = STRING: GigabitEthernet0/0
.1.3.6.1.2.1.2.2.1.2.2 = STRING: Null0
.1.3.6.1.2.1.2.2.1.2.3 = STRING: GigabitEthernet1/0/1
.1.3.6.1.2.1.2.2.1.2.4 = STRING: GigabitEthernet1/0/2
.1.3.6.1.2.1.2.2.1.2.5 = STRING: GigabitEthernet1/0/3
.1.3.6.1.2.1.2.2.1.2.6 = STRING: GigabitEthernet1/0/4
Removed lines
.1.3.6.1.2.1.2.2.1.2.29 = STRING: GigabitEthernet1/0/27
.1.3.6.1.2.1.2.2.1.2.30 = STRING: GigabitEthernet1/0/28
.1.3.6.1.2.1.2.2.1.2.31 = STRING: GigabitEthernet1/0/29
.1.3.6.1.2.1.2.2.1.2.32 = STRING: GigabitEthernet1/0/30
.1.3.6.1.2.1.2.2.1.2.33 = STRING: GigabitEthernet1/0/31
.1.3.6.1.2.1.2.2.1.2.34 = STRING: GigabitEthernet1/0/32
Removed lines


Then 

[jur466@nocu07 ~]$ snmpwalk -c MyCS  MySwitch          1.3.6.1.2.1.2.2.1.2 | 
grep GigabitEthernet1/0/3$
.1.3.6.1.2.1.2.2.1.2.5 = STRING: GigabitEthernet1/0/3   ==>> does not return 
GigabitEthernet1/0/3x
[jur466@nocu07 ~]$ 


Split the line 
.1.3.6.1.2.1.2.2.1.2.5 = STRING: GigabitEthernet1/0/3

By "="

Removes spaces => .1.3.6.1.2.1.2.2.1.2.5

Spilt by "." (dot)

The last element of the table is the index

Regards
JMJ

-----Message d'origine-----
De : Martin T [mailto:m4rtn...@gmail.com] 
Envoyé : mardi, 12. mai 2015 17:45
À : net-snmp-users@lists.sourceforge.net
Objet : find SNMP ifIndex value if hostname and SNMP ifDescr are known

Hi,

Is there a clever method to find out the SNMP ifIndex value if I know the 
hostname of the network device and ifDescr for this particular interface? At 
the moment I do it like this:

snmpwalk -v 2c -c public router ifDescr | grep -E "GigabitEthernet5/26$" | gsed 
-r "s/IF-MIB::ifDescr.([0-9]+) .*/\1/"

"router" is the hostname and "GigabitEthernet5/26" is the ifDescr.
"gsed -r "s/IF-MIB::ifDescr.([0-9]+) .*/\1/"" part is to make sure that I get 
the ifIndex of the physical interface and not the sub-interface like 
"GigabitEthernet5/26.123".


thanks,
Martin

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud Widest 
out-of-the-box monitoring support with 50+ applications Performance metrics, 
stats and reports that give you Actionable Insights Deep dive visibility with 
transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to