Real-Time Alerting with Webhooks
Enterprise organizations and partners spend thousands of dollars per site deploying servers for monitoring and reporting on infrastructure located on-site. With the total number of devices globally, including client devices, ever increasing and becoming more critical to business, monitoring and reporting using traditional means such as SNMP simply aren’t cost effective or scalable any longer.
While the Cisco Meraki dashboard provides IT admins a single interface to monitor and manage their Meraki infrastructure, we appreciate that not all organizations will have deployed the entire portfolio of Meraki devices across all their locations. Moreover some customers may have unique use cases that fall outside of what the Meraki dashboard is intended for. For these reasons, Meraki has been heavily investing in APIs over the last few years. To date, Meraki has hundreds of API endpoints being called over 23 million times every day across three powerful APIs: the dashboard, scanning, and captive portal APIs.
The Meraki dashboard API
The Meraki dashboard API allows access to most monitoring and configuration functionality in the dashboard via a RESTful API. This allows customers and developers alike to:
- Bulk provision thousands of Meraki devices and networks
- Manage configurations
- Build custom monitoring and reporting dashboards
- Automate commonly used functionality of the Meraki dashboard
In February we introduced Wireless Health, a powerful tool that consolidates and intelligently utilizes multiple data sets to rapidly identify anomalies impacting end users’ experience. In September we added a collection of new API endpoints for Wireless Health to expand the monitoring and reporting capabilities to any external analytics system or platform.
The dashboard API is a great way to monitor and report on the state of a device, for example, over a period of time. However, if all you want to do is simply be notified when something changes, then the dashboard API might not be the most efficient way to do this. The dashboard API will perpetually ask “what’s your status” to a device and report back its findings. If calls are being made, say, every 5 minutes, that’s a lot of total responses that are being received, and likely only a handful of them will deliver useful information, i.e. when the device goes offline.
MERAKI WEBHOOK ALERTS
We’re pleased to announce the availability of Meraki Webhook Alerts for all alerts within the dashboard. Setting up Webhook Alerts is very straightforward:
- Add HTTP servers by defining their unique URL and shared secret
[ network-wide > alerts ]
- Added HTTP servers can now be selected as a recipient for any alert within the dashboard
[ network-wide > alerts ]
In addition to webhooks themselves, we’re releasing new API endpoints for configuring all alert settings, which will include support for configuring the above steps via the dashboard API.
Once set up, the webhook will send an HTTP POST to a unique URL, but only when a certain condition or criteria has been met to trigger an alert. So, for example, if you’re only interested in being notified when a device goes offline, Webhook Alerting will be more efficient since it will only transmit information when the status of the device goes from online to offline.
Meraki Webhook Alerts
Meraki Webhook Alerts sends HTTP POSTs to a unique URL that can easily be fed into a receiving service. A receiving service can be as simple as a Webex Teams space, a Google Sheet logging all network alerts, or something more advanced, such as PagerDuty and ServiceNow, that can take the POSTs and create support tickets, send SMS messages to concerned parties, or even automate corrective action.
A notification of a settings change to the Meraki dashboard posted to a Webex Teams space using Meraki Webhook Alerts
Both the dashboard API and Webhook Alerts have their merits and use cases, and together offer administrators, system integrators, and developers powerful and flexible options to create custom monitoring and alerting.
Webhook Alerts are fundamentally event-driven which makes them the most efficient option for setting up alerts for critical events.
“Tell me immediately when latency for any of my sites’ APs exceeds 200ms”
“Tell me as soon as any Meraki device across any location goes offline”
“Tell me when an important device on my network loses connectivity”
Webhooks example: real-time alerting based on a threshold or criteria
Monitoring and reporting over time
The dashboard API will provide a more complete picture and historical reporting since it’s continually probing for data. It’ll be the more appropriate option to use to answer questions such as
“How many times did the latency of my access points peak above 200ms over the last week”
“What was the latency of the access point in conference room 3 last Thursday at 3 pm”
The dashboard API example: continuous monitoring of a variable over time
The introduction of Meraki Webhook Alerts combined with the dashboard API means that customers and developers can now more easily address their custom reporting and alerting requirements without breaking the bank.
Learn more and try it out
Detailed documentation on Meraki Webhook Alerts
Step-by-step tutorial on how to use Meraki Webhook Alerts to post notifications in Webex Teams (as shown in the gif)
Step-by-step tutorial on how to integrate Meraki Webhook Alerts to post notifications in a Google Sheet