HI Alvin,
SNMP wasnt possible for us, but I cannot remember why (either not possible since the Merakis were not in our network since we are monitoring for a customer of ours or it didnt deliver the values needed).
Email wasnt a good route either, since it had a lot of HTML and a pain to parse. Additionally the events were summarized and sometimes Emails didnt even arrive when an event happened. And again, Email only monitored the specific alerts which wasnt detailed enough for us.
Alerts are great, but "The Primary uplink status changes" was the closest option, but we also wanted to monitor the secondary uplink without the primary having to go down first to ensure full redundancy and proactive management. Alerts doesnt offer this possibility.
We have built our own monitoring based on the REST Endpoints.
Every hour we get a full inventory of the organisation, its networks, devices and interfaces (for the network ID and device Serial number).
https://SHARD.meraki.com/api/v0/organizations/ORGANIZATIONID/networks
https://SHARD.meraki.com/api/v0/networks/NETWORKID/devices
https://SHARD.meraki.com/api/v0/networks/NETWORKID/devices/SERIALNUMBER/uplink
Every 3 minutes we get the uplink status of each device and interface using the endpoint: https://SHARD.meraki.com/api/v0/networks/NETWORKID/devices/SERIALNUMBER/uplink
To remove flapping and false alarms, we have soft-states, so the WAN must be in a state for X times/calls before we actually accept it and create/update incidents, create notifications etc.
As soon as Meraki's Webhook comes out of Beta, we will try using that again (it was already evaluated) to be more proactive, but I fear the Webhook will be based on the alerts (like Email) and still not deliver the events we actually want to monitor.
Hope this helped.