Currently, when I use the "depend" keyword to suppress alerts after a failure, I occasionally get an alert from the dependent monitor because the service it depends on goes down before its monitor is next run.
For instance, if I ping a host every five minutes and run the SMTP monitor on that host every 9 minutes, and make the SMTP monitor dependent on the success of the ping, if the host goes down right after ping returns success, I will then get an SMTP failure alert, and a minute later I will get a ping alert. This doesn't happen often, and it isn't horrible, but when it happens it makes it a little bit harder to detect the underlying problem. It would be nice if there was some way to force mon to run all of the monitors in a dependency tree, starting from the top of the tree, when an error is detected. This would completely eliminate any spurious alerts and make it clear what the underlying problem is.