1. A method for problem determination and diagnosis in a shared dynamic cloud environment, the method comprising: monitoring each virtual machine and physical server in the shared dynamic cloud environment for at least one metric; identifying a symptom of a problem and generating an event based on said monitoring; analyzing the event to determine a deviation from normal behavior; and classifying the event as a cloud-based anomaly or an application fault based on existing knowledge; wherein at least one of the steps is carried out by a computer device.