We have a custom in house built piece of monitoring software.
It monitors the event logs on our various live machines (and test) for errors produced by our web applications. All our web applications write any exceptions the error log. It also pings the servers and monitors drive space.
There is a client application on every dev machine that polls the server app that monitors all the servers we have defined. This client app runs in the task tray and pops up messages when anything is out of the norm so a dev sees it instantly. We can also see when testers come across errors and usually have a fix or at least a fix in progress by the time the tester even reports the error.
The server also emails out to a distribution group so that we can see important errors while not at work if we need.
It also has the ability to supress predefined exceptions / errors as well.