03-20-2025 03:48 PM
I have a list of 50 MX devices in my organization that are reporting high utilization (greater than 90%). However, the dashboard is limited to the top 50. I am certain that more devices are experiencing this issue. Is there a way to retrieve the CPU utilization of a specific device via API? Alternatively, is there an API to obtain the utilization for all my MX devices?
Solved! Go to Solution.
03-20-2025 04:21 PM
Hi ,
Yes ! https://developer.cisco.com/meraki/api-v1/get-organization-summary-top-appliances-by-utilization/
use the filter quantity=500
03-20-2025 04:21 PM
Hi ,
Yes ! https://developer.cisco.com/meraki/api-v1/get-organization-summary-top-appliances-by-utilization/
use the filter quantity=500
03-21-2025 01:24 AM
Do you know what the maximum quantity allowed on this call is please? Sadly the documentation just specifies a minimum.
03-21-2025 03:28 AM
After some testing, the returned CPU value looks suspect at higher quantity values.
For an org with 170 MX devices...
From the 11th device there're several at 10%, then a bunch at 9, and so on, down to 1
From 126th device onwards, it's 0.0* and below, 0.00*, 0.000* etc.
If you can do a similar test, what do you see?
03-21-2025 06:04 AM
This is my top 1500 :
03-21-2025 06:39 AM
Thanks, that looks like a similar distribution.
I wonder what the expected %CPU is for an idle MX? The very low values returned for some devices do not seem likely.
Fwiw I checked an MX85 that the API is reporting < 0.00005% for yesterday, it's passing c. 20kbps traffic on average, it's not busy but I don't believe the CPU is below 0.00005%.
Maybe best to set quantity high, but throw away results less than, say, 0.5%.
03-21-2025 06:42 AM
Yes those low device utilization usally have like 1-2 devices and passing a small amount of traffic.
I also noticed that prior to MX19 , the value is always a round double ( eg : 20.0 ). After upgrading to MX 19++ I get some device reporting 20.5 , 31.5. Not sure if you are seeing the same behavior.
03-21-2025 06:49 AM
Except for the tiny values, I see all round numbers, the org I'm testing on is all MX18.x, I'll see if I've any with MX19 to try.
03-21-2025 06:53 AM
One thing we see with other devices/vendors are there are a lot of different CPUs to measure. My guess is this is measuring the CPU that runs the OS, but if traffic passing doesn't touch that as it's passing by via the ASICs or alike, the CPU may stay low. Then again, run something like the ThousandEyes agent and I bet the CPU jump up occasionally..
03-21-2025 04:08 AM
If I loop through a single day, 18th February 0000 UTC, with a 1800 difference between t0 and t1, i.e. requesting 48 time slices in total, the endpoint only returns data for one time slice in each 4 hours.
Change the date to 19th March, and I get data for every 30 minute time slice.
Tested on the two orgs, exactly the same behaviour.
Is that expected behaviour?
It suggests that data older than some period is being discarded or consolidated into a few time buckets per day, if that's correct it would be good to have that period documented.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide