[ZBXNEXT-9255] Change Meraki template, due to API rate limit Created: 2022 Dec 27  Updated: 2025 May 19

Status: Confirmed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent2 plugin (G), Templates (T)
Affects Version/s: None
Fix Version/s: None

Type: New Feature Request Priority: Critical
Reporter: Francys Nivea (Inactive) Assignee: Zabbix Integration Team
Resolution: Unresolved Votes: 12
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2023-10-13-09-52-55-160.png    
Issue Links:
Causes
Duplicate
Sub-task
depends on ZBXNEXT-9317 Please implement readCache(), writeCa... Closed
Team: Team INT
Sprint: Support backlog

 Description   

https://developer.cisco.com/meraki/api/#!rate-limit

Per Organization

The Dashboard API is limited to 5 requests per second, per organization.

A burst of 5 additional requests are allowed in the first second, so a maximum of 15 requests in the first 2 seconds.

The rate limiting technique is based off of the token bucket model.

Furthermore, a concurrency limit of 10 concurrent requests per IP is enforced”

It seems like when writing the template, the rate limiting wasn’t taken into account at all. Result? 

Every single one of the Meraki devices has triggers flapping in and out of problem state.

Possible rewrite options?

  • Using calculated items and getting more information in bulk then using it in the discovered hosts?
  • Not using host discovery? (Although that would be a poor man solution).
  • Different javascript solution?


 Comments   
Comment by Joris Both [ 2023 Jan 05 ]

Please address this issue. I'm doing monitoring for a managed service provider and we need to monitor about 900 meraki devices...

Comment by Nathan Liefting [ 2023 Feb 22 ]

Would be cool to see an update on this or a timeline for a fix  

Comment by Nathan Liefting [ 2023 Apr 14 ]

Just getting back on this issue. I know it might not be an easy fix, as it is the Cisco API doing the rate limiting.

If a fix is not coming (or not soon). Would be wise to place a disclaimer about the API rate limit with a explanation why and how to avoid (update interval) here:
https://www.zabbix.com/integrations/meraki

Comment by Kristian Tibold [ 2023 Jun 15 ]

If there is a need for a bigger environment, please hit me up, got +1k devices. I'm currently sitting on ZBX 6.4.1, i did circumvent this by deactiving "Get Data" Item in the device discovery. Also needed to comment out the zabbix.log within the function, since it exceeds the Log-Size Limit of Zabbix due to the mass of devices.

Comment by Kristian Tibold [ 2023 Sep 12 ]

Changed the loop to not hit the rate limit of Meraki API, currently working since 3 weeks with 999 Devices. Still had the zabbix.log function commented out. Let me know if it works.

if (Array.isArray(organizations) && organizations.length > 0) {
        for (var i = 0; i < organizations.length; i++) {
            if ('id' in organizations[i]) {
                var organization_devices = getHttpData(params.url + 'organizations/' + encodeURIComponent(organizations[i].id) + '/devices');

                if (Array.isArray(organization_devices) && organization_devices.length > 0) {
                    for (var j = 0; j < organization_devices.length; j++) {
                        organization_devices[j].organizationId = organizations[i].id;

                        devices.push(organization_devices[j]);

Comment by asim k [ 2023 Oct 13 ]

Hi Kristian , could you help me implement your fix? i am currently hitting the limit. which script did you amend?

Comment by Kristian Tibold [ 2023 Oct 13 ]

Hi Asim K,


The item is present on the host that has the Cisco Meraki Dashboard by HTTP Template linked. The item has the javascript present. You can get my Script from this Github:
https://github.com/whiteex3/Zabbix

Just be aware to only copy the necessary lines, I've some custom functions inside there that are relevant to my org and networks.

Comment by Mark Dayton [ 2023 Nov 06 ]

Hi Kristian, I have amended the javascript on the dashboard template. Im still receiving API rate error for the device template though, did you make any changes here at all?

Comment by Raymond Kuiper [ 2024 Feb 16 ]

I'm running into the same issue here, can we get an official patch/update please?

Comment by Aleksandre Sebiskveradze [ 2024 Jun 18 ]

Issue can't be fixed on template level. 

Plugin development for agent2 will be planned, moving task to ZBXNEXT.

Comment by Jon Lusky [ 2024 Sep 14 ]

nfrancys kristian94 qix What is the error you are seeing in Zabbix when it flaps?

I just set up the Meraki dashboard template and am seeing occasional "Error: cannot get URL: Timeout was reached." on various Meraki items. I stumbled on this Jira issue while trying to research my problem. I only have about a dozen Meraki devices and not sure that API timeouts are related to my problem.

Comment by Rodrigo P [ 2024 Sep 15 ]

phosjlusky  I have the same situation here. Sometimes I get the same error "Error: cannot get URL: Timeout was reached." when accessing Meraki API. I have around 40 devices being monitored.

I'm using the official Zabbix template Meraki.

Generated at Wed May 21 07:39:05 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.