I just want to share the way I did it and it works for me well.
It makes use of a website monitoring service (there are many of them out there).
1. Make a status page available on line.
I'm using cgminer on Linux, so I followed this guide: Remotely monitoring your CGMiner Mining Rig with Miner.php on Ubuntu
2. Get yourself a website monitoring service and configure it.
I'm using Super Monitoring, but you can choose any website monitoring service with content monitoring feature.
Set your service to monitor the URL of your status page (see above) and to search for the "Dead" phrase on the page.
You will be informed of any gpu/asic device failure, but also of your mining pool outage.
If you don't want to be alerted when a pool is down (because you're using failover), enter "Dead
It will make the "Dead" phrase trigger the alert only if it's displayed before "POOL" which is the title in the pool table.
That's it.
I'm using cgminer version 2.11.4.
If you're using a diffrerent version of cgminer or a different miner you'd probably need to enter a different phrase for the monitoring service to look for.
Edit: You will also be alerted when the entire rig is down (the status page is unavailable).