1. A method of automated diagnosis of a distributed system having a plurality of computing systems hosting replicated applications thereon, comprising: deriving at least one diagnosis model correlating first metrics relating to a first application instance on a first one of the plurality of computing systems to a state of a system health indicator “system health state” of the first application instance; determining whether the at least one diagnosis model is sufficiently accurate based on a probability of a predicted system health state of the first application instance given the first metrics and an actual system health state of the first application instance; and upon the determining that the at least one diagnosis model is sufficiently accurate, transferring the at least one diagnosis model to a second one of the plurality of computing systems for diagnosis of a second application instance on the second computing system that is a replicate of the first application instance, wherein each of the plurality of computing systems is associated with a separate model building engine for deriving at least one diagnosis model.