Cloud computing is a new computational and commercial model. It brings the illusion of a virtually infinite computing infrastructure/platform that provides advanced features. The increased number of VMs and applications in virtualized data centers triggers serious scalability concerns with regards to monitoring. Many features of Cloud need supports from underlying Cloud monitoring system. There is a lack of a lightweight monitoring tool for on-demand virtual machine scheduling in open literature, especially considering traffic analysis, elastic capacity provisioning, and power consumption. In this paper, a monitoring framework for Infrastructure as a Service (IaaS), CloudMoni, is proposed. CloudMoni can report utilization and status, also provides sufficient information for developers and users to have deep insights on on-demand virtual machine management and scheduling, which involving traffic analysis, elastic capacity provisioning, power metering of virtual machines. The prototype application of proposed architecture is presented in the end.