Monitoring WAN (wan1 and wan2) and Bandwidth utilization ( and %) Calculation

ag_scilo
Here to help

Monitoring WAN (wan1 and wan2) and Bandwidth utilization ( and %) Calculation

Hello Meraki team,

 

  Firstly thanks for super quick accurate responses for our prior questions. Its very helpful.

 

We need to find out WAN Bandwidth utilisation and WAN Bandwidth Utilisation percentage . Assuming the following are the best API endpoints for our requirement

https://developer.cisco.com/meraki/api-v1/#!get-network-appliance-uplinks-usage-history  

https://developer.cisco.com/meraki/api-v1/#!get-organization-appliance-uplinks-usage-by-network

 

Considering the rate limiting ,the org level calls makes sense to us.

The Org level call https://developer.cisco.com/meraki/api-v1/#!get-network-appliance-uplinks-usage-history  however states that "if more than one device was active during the specified timespan, then the sent and received bytes will be aggregated by interface."

 

1) If there are two devices active in any timespan say , wan1 and wan2 does this org level endpoint display both the interfaces say Wan 1 and wan 2   but the data for those will be from both devices aggregated? OR does it mean that there will always be a Single Interface wan1 OR wan2 in the response with an aggregated value . We dont have a multiple wan active setup so its hard to find out. 

 

2) Could you please validate our formulas for Wan bandwidth utilisation

WAN bandwidth utilization ( in kbps) = Sent Bytes( or Received Bytes) / 125  * resolution

For bandwith util % we intend to use the endpoint - https://developer.cisco.com/meraki/api/get-network-appliance-traffic-shaping-uplink-bandwidth/


WAN1/Wan2 bandwidth utilisation percentage = WAN bandwidth utilization(in kbps) /  Banwidth Limits for WAN (in kbps)

3) Is there any API endpoint that gives us the Availability of a WAN circuit ? Or is there any way to find out about WAN circuits ?

 

3 Replies 3
MartinLL
Building a reputation

This may not answer your question, but i think you should look into Meraki Insights. From what i'm reading it solves all your wan calculation questions.

MLL
sungod
Kind of a big deal

The Org level call https://developer.cisco.com/meraki/api-v1/#!get-network-appliance-uplinks-usage-history  however states that "if more than one device was active during the specified timespan, then the sent and received bytes will be aggregated by interface."

 

You are mixing up the calls, this usage-history call does not say interfaces will be aggregated (it is the usage-by-network call that may do that.)

 

https://developer.cisco.com/meraki/api-v1/get-network-appliance-uplinks-usage-history/ gives the data for each interface separately.

 

2. Yes you can calculate bps that way.

 

But using the https://developer.cisco.com/meraki/api/get-network-appliance-traffic-shaping-uplink-bandwidth/ call is problematic unless you have a guaranteed throughput on the WAN circuit and are consistently/accurately setting the limits on each interface. But on a cellular or typical ISP connection, you will not have a guaranteed fixed bandwidth, so you cannot rely on this method.

 

Another factor is that the highest resolution is 60 seconds, the throughput in that 60 seconds could be, say, 50Mbps, and your link speed 100Mbps, however if traffic is bursty you may be hitting the link speed limit many times in the 60 second period resulting in application performance issues even though it looks like you are only using 50% of capacity.

 

I would also look at loss and latency as it may give a better perspective https://developer.cisco.com/meraki/api-v1/get-device-loss-and-latency-history/ you need to call this for each interface on a device.

 

3.

If your sites are single WAN connection, you could use this to infer WAN availability https://developer.cisco.com/meraki/api-v1/get-organization-devices-availabilities-change-history/

 

Chances are if a device is unavailable it's the WAN, but ultimately you still would need to do some manual mitigation to exclude cases where you know it was the MX or some other issue.

 

In a multi-link environment maybe you could use https://developer.cisco.com/meraki/api-v1/get-organization-appliance-uplink-statuses/ but this requires you to poll, there's no history available,

ag_scilo
Here to help

1) Yes thats right , I was referring to the the org level call - https://developer.cisco.com/meraki/api-v1/#!get-organization-appliance-uplinks-usage-by-network . So the Org level call always shows the active Interface but the values will be aggregated ? The network level call gives the data for each interface separately.

 

2) Thanks , I think from the monitoring standpoint considering all the endpoints available or known to us, this is the best approach. Agreed that Cellular limits are not guaranteed.  We do collect the loss and latency and now adding the bandwidth , all at a 5 min polling interval . 

 

3)So the circuit availability could be inferred from the uplink status calls  . We do collect that information.

 

Thanks @sungod 

Get notified when there are additional replies to this discussion.