With the advent of cloud computing applications, monitoring becomes a valid concern. Monitoring for failures in a cloud application is difficult because of multiple failure points spanning both hardware and software. Moreover the cluster nature of a cloud application increases the scope of failure and it becomes even harder to detect the same. This paper presents Cloud Monitor - a scalable framework for monitoring cloud applications. Cloud Monitor monitors cluster nodes for errors. It supports dependent monitors, redundancy, multiple notification levels and auto-healing. Cloud Manager supports a flexible architecture where users can add custom monitors and associated self-heal actions.