Consegui usar com êxito o Zenoss Core para fazer isso em um ambiente Exchange de cinco servidores. Você não pode prever todas as ocorrências de falhas, mas aqui está o que eu fiz:
Monitoramento Ping / Interface por servidor
Monitoramento do log de eventos por servidor
Monitoramento de serviço por servidor
Usando o WMI:
Estatísticas coletadas em caixas de correio, filas, etc.
Usando o CheckMail Zenpack: Este ZenPack estendeu o sistema para gerar um e-mail, enviando-o através de um servidor SMTP específico, enviando-o para um endereço público, recuperando e respondendo ao dito e-mail, e medindo quanto tempo essa viagem de ida e volta levou.
Isso é meio aberto, mas há opções por aí. Eu acho que se você está fazendo qualquer cluster, pode ficar mais complicado pelo Exchange 2010 parece estar empurrando as pessoas para a redundância de nível de aplicativo em vez de redundância de sistema, então talvez isso fica mais fácil.