I am building up the monitoring service of several organizations. I want to poll status periodically, and I want to receive alerts of those statuses when they change. Configuration and management always through API.
For monitoring, I am using getOrganizationDevicesStatuses or getOrganizationUplinksLossAndLatency. There are other monitoring endpoints, but these are the only ones that request status of a complete organization.
For alerts. I am enabling alerts using the alertSettings endpoint (PUT). I am facing several problems regarding configuration:
Types: alert types from the endpoint "alertSettings" do not map with the alert types received via webhooks and difficult to map with the dashboard copies. Types are not coherent.
The endpoint getAlertSettings does not recover all the alert catalog with the status of each alert. You need to have devices of all types to get all the available alerts and sometimes even then, I can't retrieve some of the alertSetttings of the MX's for example. This seems to be a bug, actually.
Regarding the reception of alerts: There are many alerts and not son many status endpoints. This is, an alert makes sense when it indicates a status change in a somehow accessible status value. This is not happening in the Meraki's alert catalog. It would be nice to have a baseline of status values that could be read and then provide traps/webhooks for value changes. This way we could reduce polling frequency and rely on alerts in between. In other words, make alerts and status part of the same service, a monitoring service.
I would like to include these suggestions in the "Early Access API Developer" but unfortunately I didn't get into the program.