Page 1 of 1

Monitor BGP under WhatsUp

Posted: Mon Dec 04, 2006 2:51 pm
by fpascual
Hi, I need to monitor the BGP state of my mk under a WhatsUp system, what's the oid that need to put into them ?


Thanks a lot.

Posted: Mon Dec 04, 2006 3:28 pm
by sergejs
As far as I know, BGP menu does not provide any OID for SNMP monitoring.

Posted: Mon Dec 04, 2006 5:45 pm
by changeip
You might be able to monitor the number of routes in the table or something ?

.1.3.6.1.2.1.4.24.3.0 = 60
(The number of current ipCidrRouteTable entries
that are not invalid.)

Or query for the OID of a route that you know should be there (and if not alarm?):

.1.3.6.1.2.1.4.21.1.9 = bgp
(The routing mechanism via which this route was
learned. Inclusion of values for gateway routing
protocols is not intended to imply that hosts
should support those protocols.)

Posted: Mon Dec 04, 2006 7:28 pm
by fpascual
Thanks, I need to monitor only if BGP sessions are active, are this oid correct ?.

Posted: Mon Dec 04, 2006 8:31 pm
by changeip
Thanks, I need to monitor only if BGP sessions are active, are this oid correct ?.
That first OID is the number of active routes on the box ... so no, I don't think you can monitor BGP directly, but say if < x number of routes are present does that mean BGP is down? Not sure in your case what to monitor, but its a workaround to do it that way...

Sam

Posted: Mon Dec 04, 2006 8:36 pm
by galaxynet
changeip - this is Galaxynet (Thom) - would you drop me a line off forum IRT multigateway config... I've been trying to catch up w/you since we exchanged a little info on this subject a few weeks ago...

R/

Thom

thom.lawless@rapidwifi.com

Posted: Tue Dec 05, 2006 4:47 pm
by fpascual
Ok, understand, someone knows how to do that on a Whatsup ?

Posted: Wed Dec 06, 2006 8:03 pm
by fpascual
The OID is .1.3.6.1.2.1.4.24.3.0, but, how can I identify the corresponding peer ?

$snmpwalk -Os -c [community] -v 1 IP_ADDRESS .1.3.6.1.2.1.4.24.3.0

$ip.24.3.0 = Gauge32: 7021

Sound like I receive 7021 routes, but from all the peers.

Thanks

Posted: Wed Dec 06, 2006 8:18 pm
by changeip
Yes, exactly... if you have more than 1 peer it might not be easy to determine. If you are very determined you could setup a script to change a queue property (dummy queue) that you could then read from snmp ... The script would determine up/down of bgp peer and change a queue (since queues are accessable via oid). Can be done, but not really that easily : ) Can whatsup perform SSH and command ?

Sam

Posted: Wed Dec 06, 2006 8:32 pm
by fpascual
Sam, no, don't have options to make ssh.
In a whatsup cisco routers a bgp peer query OID.IP_PEER(oid[dot]ip_peer), can I do that in MK ?
How can I do to make an script for query via snmp ?

Posted: Wed Dec 06, 2006 10:35 pm
by changeip
Unfortunately snmp oids are not plenty on mikrotik yet : ) It would be best if snmp oid could be queried and a :global variable on mikrotik could be handed back.

Hack this up and see what you get:

1. Add a blank bridge interface.
interface bridge> add name=b-peer-1 mtu=1000

2. Find its OID:
interface> print oid

14 R name=.1.3.6.1.2.1.2.2.1.2.41 mtu=.1.3.6.1.2.1.2.2.1.4.41
mac-address=.1.3.6.1.2.1.2.2.1.6.41
admin-status=.1.3.6.1.2.1.2.2.1.7.41
oper-status=.1.3.6.1.2.1.2.2.1.8.41
bytes-in=.1.3.6.1.2.1.2.2.1.10.41
packets-in=.1.3.6.1.2.1.2.2.1.11.41
discards-in=.1.3.6.1.2.1.2.2.1.13.41
errors-in=.1.3.6.1.2.1.2.2.1.14.41
bytes-out=.1.3.6.1.2.1.2.2.1.16.41
packets-out=.1.3.6.1.2.1.2.2.1.17.41
discards-out=.1.3.6.1.2.1.2.2.1.19.41
errors-out=.1.3.6.1.2.1.2.2.1.20.41

Now the MTU oid can be used to check value with whatsup or other snmp monitoring...

3. Run / schedule this script for how often you want that to update.
:if ([/routing bgp peer get [/routing bgp peer find name=cymru] state ] = established) do={/int bridge set [/int bridge find name=b-peer-1] mtu=1000} else={/int bridge set [/int bridge find name=b-peer-1] mtu=1001}
4. Use whats up to query OID mtu=.1.3.6.1.2.1.2.2.1.4.41 - if MTU = 1000 its up, if its 1001 its down.

Kind of a hack, but very possible. I'm sure the script could be enhanced to automatically update multiple at once but this was a quicky. Possibly name the bridge with a psuedo name of the bgp peer and it would run thru all of them.

Sam

Posted: Thu Dec 07, 2006 3:56 pm
by fpascual
Sam, thanks a lot, but, how can I identify between my 6 bgp peers ?, I must to create 6 bridge interfaces and 6 scripts ?.

When I put the script receive an error message


] system scheduler<SAFE> :if ([/routing bgp peer get [/routing bgp peer find name=cymru] state ] = established) do={/int bridge set [/int bridge find name=b-peer-1] mtu=1000} else={/int bridge set [/int bridge fi
nd name=b-peer-1] mtu=1001}

"invalid item number"

What I doing wrong ?


Thanks

Posted: Thu Dec 07, 2006 6:00 pm
by changeip
You need to change out "cymru" for the name of your peer.

You need to change out "b-peer-1" for the name of the bridge that you setup.

If there is a number of peers you will need 1 bridge for each peer. This could all be done in the same script however. If you need more help let me know

Sam

Posted: Thu Dec 07, 2006 7:28 pm
by fpascual
Sam, the ":if" statements must be configured in /system scheduler path ?.
I put the six ":if" with right configuration but doesn't works, how can I view the sentences ?. Do you understand me ?


Thanks

Posted: Thu Dec 07, 2006 7:44 pm
by fpascual
Ok, I understand, the question is, how can I scheduled each ":if" statement and configure in permanent mode ?

Posted: Thu Dec 07, 2006 8:44 pm
by fpascual
Sam, works great !!, thanks a lot !.


Regards.

Posted: Thu Dec 07, 2006 9:44 pm
by changeip
You should first put those lines into a script, then schedule the script in another command... the scheduler doesn't seem to like full blown scripts.

Glad you are following along : )

Sam

Posted: Thu Dec 07, 2006 10:04 pm
by fpascual
You should first put those lines into a script, then schedule the script in another command... the scheduler doesn't seem to like full blown scripts.

Glad you are following along : )

Sam
Yes yes, it's a great idea.


Thanks a lot !.