Nowadays, Cloud Computing is widely adopted in current scenario for both personal and professional usage. With advent of technology, large scale usage and increasing growth of cloud computing resources has led to an important issue which is cloud service reliability and high energy consumption. The major issue in cloud computing is data availability, backup replication, data efficiency and reliability because of the failures encountered during the execution. So, for ensuring reliability and availability and limit the use of energy in cloud a technique for fault tolerance must be developed. Presently two main types of fault tolerant techniques such as proactive and reactive fault tolerance are available. In the existing fault tolerant techniques, the focus is mainly on the way to tolerate fault but co-ordination between VMs is missing. Reactive fault tolerance techniques work only after fault is encountered i.e., the system is diagnosed after fault occurs and these techniques lower the effects of faults. To overcome this problem, we first allocate tasks to the virtual machines by using concept of Hot Queues and Cold Queues to reduce total energy consumption and allocating the load among VMs in such a manner that no task goes into starvation state. In this paper agent-based monitoring mechanism is proposed to dynamically monitor the running statistics of all jobs running on VMs. Moreover, our agent-based monitoring system is able to resolve the problem of deteriorating Virtual Machine. In case deterioration is detected, migration is initiated causing high fault tolerance rate and Performance optimization in terms of overhead and execution time, energy efficiency is observed.