1. A method for diagnosing a problem of a software product running in a cloud environment, comprising: receiving in a diagnosis controller a problem in the operation of the monitored software product from a first diagnosis agent deployed on a first node in the cloud environment; capturing the cloud environment including the software product, wherein capturing the cloud environment including the software product comprises: capturing a respective image of each of a plurality of nodes of the cloud environment which support the software product using a respective diagnosis agent deployed in each of the plurality of nodes and communicating the respective image to the diagnosis controller, and collecting relevant configuration data for a cluster system deployed in the cloud environment from the respective diagnosis agent deployed on each node of the plurality of nodes and communicating the relevant configuration data to the diagnosis controller; using the diagnosis controller to deploy the captured cloud environment in a diagnosis cloud separate from the cloud environment, wherein deploying the captured cloud environment in a diagnosis cloud comprises: deploying the image of each node of the plurality of nodes of the cloud environment in a respective corresponding node of the diagnosis cloud, and applying the corresponding configuration data for the cluster system deployed in the cloud environment to configure each node in the diagnosis cloud; and using the diagnosis cloud to reproduce the problem in the operation of the monitored software product.