An Adaptive Technique to Model Virtual Machine Behavior for Scalable Cloud Monitoring