Added dependencies and predicted root cause analysis.

This simple algorithm depends on the often transitive nature of the
dependencies.

eg. Service -> Nginx -> Application

Typically if Application fails, the higher level components also fail,
this means we do not need to check the whole treee. This assumption may
not prove practically true depending on the checks written so an
alternative may also be implemented.